I have a simple example using dplyr (version 0.2)
I want a cumulative sum of var1 by ID. It works fine with ddply from plyr but not the new package. Is this a user error? If so can anyone point me in the right direction?
ID<-c(1,1,1,1,2,2,3,4,4,4,4)
var1<-c(32,55,22,12,34,21,23,42,11,9,20)
df<-data.frame(ID=ID,var1=var1)
df
#does not create cumsum by ID
IDs<-group_by(df,'ID')
transform(IDs,cumsum=cumsum(var1))
ID var1 cumsum
1 1 32 32
2 1 55 87
3 1 22 109
4 1 12 121
5 2 34 155
6 2 21 176
7 3 23 199
8 4 42 241
9 4 11 252
10 4 9 261
11 4 20 281
#works correctly
ddply(.data=df, .variables=('ID'),.fun=transform,cumsum=cumsum(var1))
ID var1 cumsum
1 1 32 32
2 1 55 87
3 1 22 109
4 1 12 121
5 2 34 34
6 2 21 55
7 3 23 23
8 4 42 42
9 4 11 53
10 4 9 62
11 4 20 82
mutate, nottransform- AndrewMacDonalddplyrand summoningplyr::whateveronly at great need - AndrewMacDonaldtransformin ado:IDs %>% do(transform(., cumsum = cumsum(var1)))- G. Grothendieck