“故障排除”;未定义的列已选定";在R
我试图使用此命令从数据中删除所有方差为零的列“故障排除”;未定义的列已选定";在R,r,dataframe,R,Dataframe,我试图使用此命令从数据中删除所有方差为零的列 file <- file[,sapply(file, function(v) var(v, na.rm=TRUE)!=0)] 问题是我没有选择任何列,我只是将该函数应用于所有列!为什么我会得到一个错误,告诉我未定义的列被选中! 你知道会出什么问题吗 数据看起来正是这样 col1 col2 col3 col4 1 FIA 3.5 2.4 NA 2 DWF 2.1 NA 3.7
file <- file[,sapply(file, function(v) var(v, na.rm=TRUE)!=0)]
问题是我没有选择任何列,我只是将该函数应用于所有列!为什么我会得到一个错误,告诉我未定义的列被选中!
你知道会出什么问题吗
数据看起来正是这样
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
lastcol您的col1
很可能是一个字符变量,因此对其应用var
将返回NA
,然后事情就从那里变成了梨形。@HongOoi,我尝试删除第一列,但得到了相同的错误消息。此外,该命令用于的以前的数据集的第一列为字符。我真的找不出有什么不对!
lastcol <- ncol(file)
file[,lastcol] <- NULL