r - Mutable version of apply? -


i trying average value each subset in dataframe, , incorporate info column.

i can lapply, can't make "stick". there variant of apply family of functions side effects? in plyr library fine too.

data <- data.frame(   = sample(letters[1:3], 20, replace=true),   b = runif(20),   c = letters[1:20]) # split databya <- split(data, factor(data$a)) # average of b per set lapply(databya, function(df) {df$bmean <- mean(df$b)}) # nothing! # remerge subsets data <- rbind.fill(databya) 

thanks

this may work:

library(plyr) data1<-ddply(data,.(a),transform,bmean=mean(b))   head(data1)            b c    bmean 1  0.616156407 e 0.5492000 2  0.568187293 g 0.5492000 3  0.899395311 h 0.5492000 4  0.113060973 k 0.5492000 5  b 0.872838203 0.7885643 6  b 0.906216467 b 0.7885643 7  b 0.944196701 n 0.7885643 8  b 0.445983319 o 0.7885643 9  b 0.773586589 t 0.7885643 

Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -