我有一个" csv"包含3列,100 +行的文件。所有列中的变量都根据第1列中的数据而变化,"时间"。
Time Temp Cloud
1100 22 1
1102 14 1
1104 14 2
1106 23 1
1108 12 1
1110 21 2
1112 17 2
1114 12 3
1116 24 3
我想知道什么时候"云"变化[例如在第3行和第6行],我想获得放在该行的其他变量,以及该行之前的行。 我怎样才能做到这一点 ? 感谢
答案 0 :(得分:1)
diff
几乎可以直接执行此操作。适用两次。调用示例数据d
:
> d[c(diff(d$Cloud) != 0,FALSE) | c(FALSE, diff(d$Cloud) != 0),]
Time Temp Cloud
2 1102 14 1
3 1104 14 2
4 1106 23 1
5 1108 12 1
6 1110 21 2
7 1112 17 2
8 1114 12 3
答案 1 :(得分:1)
我会做这样的事情:
df$Change <- c(0,sign(diff(df$Cloud)))
subset(df,Change!=0)[,4]
这将消除没有变化的行。