计算 R 中的重复测量差异

Calculate repeated measures difference in R

df:

ID     cat1
A0001   358
A0001   279
A0049   324
A0049   358
A0049   432

计算重复测量(按 ID)之间 cat1 值的差异。预期输出 df 应如下所示:

 ID    cat1 cat1_diff
A0001   358   NA
A0001   279   -79
A0049   324   NA
A0049   358   26
A0049   432   74

对于如何在 R 中执行此操作的任何见解,我将不胜感激。

我们可以使用dplyrlag函数:

library(dplyr)
df %>% group_by(ID) %>%
       mutate(cat1_diff = cat1 - lag(cat1))

Source: local data frame [5 x 3]
Groups: ID

     ID cat1 cat1_diff
1 A0001  358        NA
2 A0001  279       -79
3 A0049  324        NA
4 A0049  358        34
5 A0049  432        74