要TRUE/FALSE值的地方不可以用缺少值 逻辑值true或false
下面是我的 数据,我想要把ID这一列中与前后两行都不同赋值成NA,用了
for(i in 1:10){
if(data[i,1]!=data[i+1,1]&&data[i+1,1]!=data[i+2,1])
data[i+1,]=NA
}
V1 V2 V3 V4 V5
1 ID 账单号 日期 时间 总价
2 241 5178159 2014/1/11 8:52:18 74.04
3 293 5335387 2014/1/23 14:23:13 47.7
4 440 5231727 2014/1/15 9:26:47 117.04
5 454 5318927 2014/1/22 9:33:23 15.68
6 589 5331689 2014/1/23 9:58:24 0.12
7 621 5344954 2014/1/24 11:00:56 116
8 642 5104141 2014/1/5 12:35:45 75.62
9 721 5277970 2014/1/18 23:58:02 12.52
10 721 5277994 2014/1/19 0:24:48 64.26
11 729 5271743 2014/1/18 11:04:57 81
结果出现了Error in if (data[i, 1] != data[i + 1, 1] && data[i + 1, 1] != data[i + :
需要TRUE/FALSE值的地方不可以用缺少值
数据变成了下面的
V1 V2 V3 V4 V5
1 ID 账单号 日期 时间 总价
2 <NA> <NA> <NA> <NA> <NA>
3 293 5335387 2014/1/23 14:23:13 47.7
4 440 5231727 2014/1/15 9:26:47 117.04
5 454 5318927 2014/1/22 9:33:23 15.68
6 589 5331689 2014/1/23 9:58:24 0.12
7 621 5344954 2014/1/24 11:00:56 116
8 642 5104141 2014/1/5 12:35:45 75.62
9 721 5277970 2014/1/18 23:58:02 12.52
10 721 5277994 2014/1/19 0:24:48 64.26
11 729 5271743 2014/1/18 11:04:57 81
本来应该2-8行都变成NA的,怎么会这样。求助
最佳解答:
if(data[i,1]!=data[i+1,1]&&data[i+1,1]!=data[i+2,1]) data[i+1,]=NA 你在第一次循环的时候,将data[i+1,]赋值为NA; |
转载请注明:数据分析 » 为何 程序显示需要TRUEFALSE值的地方不可以用缺少值