Проблема
Я хотел бы проверить, существует ли элемент списка, вот пример
foo <- list(a=1)
exists('foo')
TRUE #foo does exist
exists('foo$a')
FALSE #suggests that foo$a does not exist
foo$a
[1] 1 #but it does exist
В этом примере я знаю, что foo$a существует, но тест возвращает FALSE.
Я посмотрел в ?exists и обнаружил, что with(foo, exists('a') возвращает TRUE, но не понимаю, почему exists('foo$a') возвращает FALSE.
Вопросы
- Почему
exists('foo$a')возвращаетFALSE? - Используется ли
with(...)предпочтительный подход?