当前位置:  开发笔记 > 编程语言 > 正文

使用subset()时确定导致"未定义列选定"的列名称错误

如何解决《使用subset()时确定导致"未定义列选定"的列名称错误》经验,为你挑选了1个好方法。

我正在尝试使用非常大的数据帧来分配大数据帧

data.new <- subset(data, select = vector)

vector是一个包含我想要隔离的列名的字符串.当我这样做时,我得到了

Error in `[.data.frame`(x, r, vars, drop = drop) : 
  undefined columns selected

有没有办法确定向量中的哪个特定列名未定义?通过反复试验,我将其缩小到大约400,但这仍然无济于事.



1> Ben Bolker..:

找到向量中不%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显示了类似的情况.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有