我想在混合模型中重新定位不平衡时间预测器,以便截距反映治疗结束。
例如:
ID <- c(1,1,2,2,2,3,3,3,3)
Time <- c(0,1,0,1,2,0,1,2,3)
Before <- data.table(ID,Time)
Before
ID Time
1 0
1 1
2 0
2 1
2 2
3 0
3 1
3 2
3 3
我想得到这个:
Recenter <- c(1,0,2,1,0,3,2,1,0)
After <- data.table(ID,Time, Recenter)
After
ID Time Recenter
1 0 1
1 1 0
2 0 2
2 1 1
2 2 0
3 0 3
3 1 2
3 2 1
3 3 0
答案 0 :(得分:0)
您希望在每个Time
内撤消ID
。这就是你需要的:
Recenter <- unlist(with(Before, tapply(Time, ID, rev)), use.names = FALSE)
使用rev
将tapply
函数应用于不平衡/不规则数组。