Problema
Vorrei verificare se esiste un elemento di una lista, ecco un esempio
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
In questo esempio, so che foo$aesiste, ma il test ritorna FALSE.
Ho guardato dentro ?existse ho scoperto che with(foo, exists('a')ritorna TRUE, ma non capisco perché exists('foo$a')ritorni FALSE.
Domande
- Perché
exists('foo$a')ritornaFALSE? - Viene utilizzato
with(...)l'approccio preferito?
foo <- list(a1=1)
!is.null(foo$a)(o!is.null(foo[["a"]])per essere al sicuro)? (oexists("a",where=foo))