【发布时间】:2020-03-23 11:43:33
【问题描述】:
我有一个将字符向量作为输入并返回不一致结果的函数。如果输入中没有 NA,它将返回一个“已翻译”值的命名向量。如果输入中有 NA,它将返回一个列表。与 NA 对应的列表元素将为 NULL,名称为 NA。
这是一个重新创建的列表:
foo <- list(a=1, b=2, c=NULL)
names(foo) <- c("a", "b", NA)
我希望想要拥有一个缺失值中带有 NA 的向量:
c(1, 2, NA)
然而,一个简单的unlist() 不起作用——NULL 元素消失了。我尝试了以下方法:
foo <- lapply(foo, function(x) if(is.null(x)) NA else x)
names(foo) <- NULL
unlist(foo)
这行得通。但是, foo 非常大(数万个元素),上面的代码似乎相当慢。有没有更好的解决方案?
【问题讨论】:
-
@rajah9:不,这个其他问题没有回答我的问题。
-
我没有投票关闭;我只编辑了你的问题标题。
-
啊,对不起,对了!
标签: r