【发布时间】:2022-04-04 06:26:33
【问题描述】:
假设我有一个如下列表
foo=list(bar="hello world")
我想检查我的列表是否有特定的键。
我观察到foo$bar2 将返回NULL 对于任何不等于bar2 的bar,所以我想我可以检查返回值是否为空,但这似乎不起作用:
if (foo$bar2==NULL) 1 # do something here
但是,这会产生错误:
Error in if (foo$bar2 == NULL) 1 : argument is of length zero
然后我尝试了 NULL 是否等同于 false,就像在 C 中一样:
if (foo$bar2) 1 # do something here
这给出了同样的错误。
我现在有两个问题。如何检查列表是否包含密钥? 以及如何检查表达式是否为空?
【问题讨论】:
-
使用
is.null(...)来查看是否为空 -
检查列表是否包含密钥是什么意思?这种情况下的“关键”是什么?
-
键是列表中元素的名称。这里的有效密钥是
bar。我不确定R社区是否有不同的词,但R列表对我来说就像一个 Python 字典,这就是为什么我将这个名称称为“键”。
标签: r