数据列数是不相等的,有的最后一列是没有值的,所以读入数据的时候,想要用NA来填充:data<-read.table("1.txt",fill=TRUE,col.names = paste("V",1:19))
脚本里用了if语句:
if((data1[i,4] %in% m) & (data1[i+1,4] %in% m) & (data1[i,4]!=data[i+1,4]) & (data1[i,11]!=data[i+2,11]) & (data1[i,11]==data[i+1,11]))
整个if语句只比较了第4、11列,根本没有用到最后一列,但是运行的时候总是报以下错误:
Error in if ((data1[i, 4] %in% m) & (data1[i + 1, 4] %in% m) & (data1[i, :
需要TRUE/FALSE值的地方不可以用缺少值
于是我就去检查数据,用is.na(data[,19])结果全是FALSE,data[,19]==""发现有很多空格,所以是这些空格的原因?但是我的if语句根本就没有涉及这一列啊!请问这种情况该怎么解决?真的头都大了
不懂这到底是为什么,而且虽然报错了,但是结果又有,而且还是正确的,关键是在命令行虽然有结果,但是写成脚本跑却跑不出结果。。