Masalah
Saya ingin menguji apakah ada elemen daftar, berikut adalah contohnya
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
Dalam contoh ini, saya tahu itu foo$aada, tetapi tes kembali FALSE.
Saya melihat ke dalam ?existsdan telah menemukan with(foo, exists('a')pengembalian itu TRUE, tetapi tidak mengerti mengapa exists('foo$a')kembaliFALSE .
Pertanyaan
- Mengapa
exists('foo$a')kembaliFALSE? - Apakah penggunaan
with(...)pendekatan yang disukai?
foo <- list(a1=1)
!is.null(foo$a)(atau!is.null(foo[["a"]])berada di sisi yang aman)? (atauexists("a",where=foo))