我正在寻找一种简单的方法来计算数据框“AA”列中发生的更改;所以新列“BB”应该在下面给出的 df 中看起来像:
df <- as.data.frame(cbind("Year"=c(2000,2000,2000,2001,2001,2001,2002,2002,2002,2003), "AA"=c(136,137,137,158,162,21,21,55,55,55), "BB"=c(1,2,2,3,4,5,5,6,6,6)))
换句话说,“AA”的任何变化(增加或减少)都应通过加起来计入“BB”中...
最佳答案
为此我喜欢 rle
:
foo <- rle(df$AA)
foo$values <- 1:length(foo$values)
df$BB <- inverse.rle(foo)
关于r - 如何计算列中的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17595930/