我试图使用此命令从我的数据中删除所有方差为零的列
file <- file[,sapply(file, function(v) var(v, na.rm=TRUE)!=0)]
此命令对我以前的数据集非常有效,现在我正在尝试在新数据集上使用它,但它给了我以下错误:
Error in `[.data.frame`(file, , sapply(file, function(v) var(v, na.rm = TRUE) != :
undefined columns selected
In addition: Warning message:
In var(v, na.rm = TRUE) : NAs introduced by coercion
问题是我没有选择任何列,我只是将函数应用于所有列!我怎么会收到错误消息,告诉我选择了未定义的列!
知道出了什么问题吗?
数据看起来正是这样
col1 col2 col3 col4
1 FIA 3.5 2.4 NA
2 DWF 2.1 NA 3.7
3 LIK 0.25 2.3 1.38
4 JUW 2.1 4.0 3.2
最佳答案
输入文件是一个 CSV 文件并通过 read.csv 命令读取,它在导致此问题的表末尾有一个额外的空列,通过此命令删除最后一列,解决了问题。
lastcol <- ncol(file)
file[,lastcol] <- NULL
关于r - R 中的 "undefined columns selected"故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17188972/