2015-09-08 128 views
2

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.

回答

2

我們可以用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 
+0

這一個作品!非常感謝jeremycg – sleepyjoe