gpt4 book ai didi

r - 为什么 is.null 为不存在的列表元素返回 false?

转载 作者:行者123 更新时间:2023-12-02 07:35:08 25 4
gpt4 key购买 nike

我正在尝试测试列表是否包含对象 ( github source )。到目前为止,此 is.null 函数一直有效,除非我正在测试名称与非 nul 项目部分匹配的项目。

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]]) 这样的循环中工作.

最佳答案

看看 x$a。由于部分名称匹配,这将返回 1。所以 is.null(x$a)FALSE 因为 R 匹配 aab。如果您使用 [[ 表示法,您将获得预期的结果:is.null(x[['a']])

关于r - 为什么 is.null 为不存在的列表元素返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17349485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com