0

我有一个“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 行],并且我想获得放置在该行以及该行之前的行的其他变量。我怎样才能做到这一点 ?谢谢

4

2 回答 2

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
于 2012-12-10T15:10:36.457 回答
1

我会做这样的事情:

df$Change <- c(0,sign(diff(df$Cloud)))
subset(df,Change!=0)[,4]

这将消除没有变化的行。

于 2012-12-10T15:43:26.650 回答