是否有一种简单的方法允许R中的可选变量?我在正则表达式中寻找类似?
运算符的东西。例如,假设我有一个数据框x
。我们假设x包含A
,B
,C
和D
列。我想将x
分组,以便我只保留A
,B
和C
。所以我使用x[,c("A", "B", "C")]
。但是,如果有一天我将文件导入x
并且由于某种原因它没有列C
并且我运行代码,则会收到错误,因为R
无法找到列{ {1}}。
有没有办法让每列都可选?类似C
之类的内容,以便在其中一个列丢失的情况下,R跳过它并仅包含x[,c("A"?, "B"?, "C"?)]
和A
而不会抛出错误?
答案 0 :(得分:2)
您可以将列名称的向量子集化为实际存在的
x[, intersect(c("A", "B", "C"), names(x))]