为了简单起见,我希望C列等于 列B的滞后,shift参数取决于整数 在A栏中,我想:
A | B | C
0 | 5 | 5
2 | 6 | NA
3 | 7 | NA
2 | 8 | 6
我试过了:
library(dplyr)
library(Hmisc)
data <- mutate(data,
C= Lag(B, shift=as.integer(A)),
但它不起作用,我只获得NAs,它可能是一个类型问题但是 我不确定即使使用as.integer它也不起作用 有人知道为什么它不起作用?
非常感谢
答案 0 :(得分:0)
null
的 lag
也有shift参数,因此无需加载另一个包。一种方法是,
dplyr
答案 1 :(得分:0)
解决方案: shift参数似乎没有将列值作为整数, 所以我用另一种方式做到了:
df$C <- apply(as.data.frame(df$A), 1, function(i){
nth(df$B, i)
})
它取B的第n个值,其中n在A col
中(非常感谢帮助我索托斯)