[R] apply formula over columns by subset of rows in a dataframe (to get a new dataframe)

Massimo Bressan massimo.bressan at arpa.veneto.it
Fri May 13 16:44:55 CEST 2016


yes, thanks

you pointed me in the right direction: split/unplist was the trick 

I completely left behind that possibility!

here the final version

############

mynorm <- function(x) {(x - min(x, na.rm=TRUE))/(max(x, na.rm=TRUE) - min(x, na.rm=TRUE))} 

mydf<-data.frame(blocks=rep(c("a","b","c"),each=5), v1=round(runif(15,10,25),0), v2=round(rnorm(15,30,5),0)) 

g <- mydf$blocks
l <- split(mydf, g)
l <- lapply(l, transform, v1.mod = mynorm(v1))
mydf_new <- unsplit(l, g)

############

thanks again

massimo



More information about the R-help mailing list