对于缺少基线点的重复 ID,从基线进行更改
类似的问题已被提出并回答如下:
重复 id 相对于基线的变化 https://stackoverflow.com/questions/31619437/change-from-baseline-for-repeated-ids
我的问题与原来的问题不同,因为我缺少基线值。我在下面提供了一个可重现的小示例:
df1 <- data.frame( probeID = c( rep("A", 19), rep("B",19), rep("C",19)),
Subject_ID = c( rep( c( rep(1,5), rep(2,4), rep(3,5), rep(4,5)),3)),
time = c(rep( c( c(1:5), c(2:5), rep( 1:5,2)),3)))
df1$measure <- df1$Subject_ID*c( 1:nrow(df1))
df2 <- subset( df1, Subject_ID != 2)
df2 %>%
group_by(probeID, Subject_ID) %>%
mutate(change = measure - measure[time==1])
但是,当我在上面的管道中将 df2 替换为 df1 时,它会失败,因为Subject_ID=2 的 time = 1 数据点的数据丢失。我在 df1 情况下所需的输出应该与 df2 的输出相同。我将不胜感激任何帮助。
Thanks
JJ