在dplyr中使用嵌套的group_by
给出以下玩具示例:在dplyr中使用嵌套的group_by,r,dplyr,R,Dplyr,给出以下玩具示例: set.seed(200) h<-data.frame(T1=sample(0:100,size = 20),ID=sample(c("A","B","C","D"),size=20,replace=T),yr=sample(c(2006:2010),size = 20,replace=T)) 现在,到最后两个问题-这是期望的输出: T1 ID yr Inc.var diff 1 92 A 2006 1 6 2 98
set.seed(200)
h<-data.frame(T1=sample(0:100,size = 20),ID=sample(c("A","B","C","D"),size=20,replace=T),yr=sample(c(2006:2010),size = 20,replace=T))
现在,到最后两个问题-这是期望的输出:
T1 ID yr Inc.var diff
1 92 A 2006 1 6
2 98 A 2006 2 0
3 41 B 2006 1 0
4 26 C 2006 1 71
5 97 C 2006 2 0
6 11 D 2006 1 56
7 67 D 2006 2 0
8 9 B 2008 1 44
9 53 B 2008 2 4
10 57 B 2008 3 19
11 76 B 2008 4 0
12 33 D 2008 etc etc
13 48 A 2009
14 58 A 2009
15 99 A 2009
16 52 B 2009
17 80 B 2009
18 13 B 2010
19 64 B 2010
20 21 C 2010
下面是我如何解决最后两个问题的:
j <- h %>% group_by(ID,yr) %>% arrange(T1) %>% mutate(diff=lead(T1)-T1,inc.var=seq(length(T1))) %>% arrange(yr)
j%group_by(ID,yr)%%>%arrange(T1)%%>%mutate(diff=lead(T1)-T1,inc.var=seq(length(T1))%%>%arrange(yr)
如果您为示例输入提供了所需的输出,则会有所帮助。最好一次只关注一个问题,并具体说明您所面临的编程问题。展示你自己为解决问题所做的任何尝试,并描述它们不起作用的原因。
j <- h %>% group_by(ID,yr) %>% arrange(T1) %>% mutate(diff=lead(T1)-T1,inc.var=seq(length(T1))) %>% arrange(yr)