我正在使用具有时变协变量的Cox回归模型。为了避免因果同时性的问题,我需要将所有协变量滞后一个周期(年)。所以我想知道我怎么能在R中做到这一点?我有二元和连续的时变协变量。
我的数据样本:
def tablesOneToTen():
# initialize x counter
x = 1
# first condition
while x <= 10:
# print reference message
print("Table for {} * [1-10]".format(x))
# initialize y counter
y = 1
# second condition
while y <=10:
# print values
print(x*y, end=" ")
# increment y
y += 1
# print a new line
print(" ")
# increment x
x += 1
答案 0 :(得分:0)
这是一个滞后的功能,我承认这是从这里的其他人复制的。这个特殊的设置是为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)))
}