2
我想測試一個列表是否包含一個對象(github source)。這個is.null
函數迄今爲止工作,除非我正在測試一個名稱與non-nul項目部分匹配的項目。爲什麼is.null對於不存在的列表元素返回false?
x <- list(ab = 1)
is.null(x$ab)
[1] FALSE ## expected
is.null(x$b)
[1] TRUE ## expected
is.null(x$c)
[1] TRUE ## expected
is.null(x$a)
[1] FALSE ## unexpected
這是is.null
函數的預期行爲嗎?我沒有在文檔中看到任何跡象。
使用exists
函數或其他方法會更好嗎? (我沒有用exists
,因爲它不會在一個循環的工作就像for(i in 'a') is.null(x[[i]])
。
明白了,正如這裏的評論所解釋的:http://stackoverflow.com/q/16630087/199217 –