如何创建滞后列

  • 本文关键字:滞后 创建 何创建 r
  • 更新时间 :
  • 英文 :


在尝试为自变量创建滞后列时,出现以下错误。

ML$AML1<-c(NA,ML$AML)
Error in `$<-.data.frame`(`*tmp*`, AML1, value = c(NA, 4.66, 4.81, 4.72,  :
replacement has 11 rows, data has 10

有人能帮我在这里编码吗?

正如@Phil在评论中指出的那样,dplyr包中有一个滞后函数。首先,让我们用你尝试的方式来解决它。您得到了一个错误,因为您刚刚在矢量(df列(的开头添加了一个项。这使得它比原始数据帧本身(或其他列,也称为向量(长一项,因此您必须删除最后一个值以保持原始长度:
ML$AML1 <- c(NA, ML$AML[1:(nrow(ML)-1)]) 
# you could use length(ML$AML) instead of nrow(ML)

现在dplyr方式:

library(dplyr)
dplyr::mutate(ML, AML1 = dplyr::lag(AML))

最新更新