我正在尝试使用非常大的数据帧来分配大数据帧
data.new <- subset(data, select = vector)
vector是一个包含我想要隔离的列名的字符串.当我这样做时,我得到了
Error in `[.data.frame`(x, r, vars, drop = drop) : undefined columns selected
有没有办法确定向量中的哪个特定列名未定义?通过反复试验,我将其缩小到大约400,但这仍然无济于事.
找到向量中不%in%
属于names()
数据框的元素.
工作范例:
dd <- data.frame(a=1,b=2) subset(dd,select=c("a")) ## a ## 1 1
现在尝试一些不起作用的东西:
v <- c("a","d") subset(dd,select=v) ## Error in `[.data.frame`(x, r, vars, drop = drop) : ## undefined columns selected v[!v %in% names(dd)] ## [1] "d"
要么
setdiff(v,names(dd)) ## [1] "d"
示例代码的最后几行?match
显示了类似的情况.