gpt4 book ai didi

R 查找值发生变化的下一行

转载 作者:行者123 更新时间:2023-12-02 17:28:09 26 4
gpt4 key购买 nike

假设我有一个这样的数据表(或框架):

Time    Value
1 10
2 10
3 10
4 15
5 15
6 20

我想附上标记下一次值更改的时间和值的列。它看起来像这样:

Time    Value    T_Next    V_Next
1 10 4 15
2 10 4 15
3 10 4 15
4 15 6 20
5 15 6 20
6 20 NA NA

我不太关心最后一行。我能想到的唯一方法是使用一些嵌套的 for 循环,这会很慢而且我有一个大数据集。我敢肯定,有一种更符合 R 风格的方法可以提高性能。任何帮助表示赞赏!

最佳答案

这个呢?

cbind(df, df[rep(cumsum(rle(df$Value)$lengths) + 1, rle(df$Value)$lengths),])
Time Value Time Value
4 1 10 4 15
4.1 2 10 4 15
4.2 3 10 4 15
6 4 15 6 20
6.1 5 15 6 20
NA 6 20 NA NA

关于R 查找值发生变化的下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36816340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com