繁体   English   中英

如何用R滞后二分和连续变量?

[英]How to lag dichotomous and continuous variables with R?

我正在使用带有时变协变量的Cox回归模型。 为了避免因果并发的问题,我需要将所有协变量滞后一个周期(年)。 所以我想知道如何在R中做到这一点? 我有二分和连续时变协变量。

我的数据样本:

country  year            X  X1
      A  1990  380,4009552   0
      A  1991  384,1316813   0
      B  1990  569,9407288   1
      B  1991  622,3796544   1
      C  1990   690,842629   1

这是我确实是从这里的其他人那里复制来的滞后函数。 此特定设置是为data.tables编写的,但是您可以为data.frame重写非常简单。

lagging<-function (data, var, time) 
{
    return(c(rep(NA, time), head(data[, eval(as.name(var))], 
        (length(data[, eval(as.name(var))]) - time))))
}

#how to use:
df[,lagX:=lagging(df,'X',1)]

#also, if you want to run one ahead--

forwarding<-function (data, var, time) 
{
    return(c(tail(data[, eval(as.name(var))], (length(data[, 
        eval(as.name(var))]) - time)), rep(NA, time)))
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM