【发布时间】:2014-11-04 09:53:35
【问题描述】:
以这个数据框为例
temp <- data.frame('a' = 1:3, 'b' = 4:6, 'd' = 7:9)
我想使用列名向量对这个数据框进行子集化,但是如果该向量包含数据框中不存在的任何列,我希望它们仍然被返回,但作为 NA。
所以如果我的向量是
colVec <- c('a', 'b', 'c')
我想按照以下方式运行一些东西
subset(temp, select = colVec)
得到
a b c
1 4 NA
2 5 NA
3 6 NA
【问题讨论】:
-
只需执行
temp[,colVec[colVec %in% names(temp)]],如果您真的想添加NA列(为什么?)然后使用!将NA附加到缺少的列名称.
标签: r select dataframe subset na