[R] apply function within different groups
arun
smartpink111 at yahoo.com
Thu May 23 17:48:55 CEST 2013
Hi,
May be this helps:
dat1<- read.table(text="
group var1 var2 myvar
group1 1 a 100
group2 2 b 200
group2 34 c 300
group3 5 d 400
group3 6 e 500
group4 7 f 600
",sep="",header=TRUE,stringsAsFactors=FALSE)
library(plyr)
ddply(dat1,.(group),summarize, f_myvar=mifunc(myvar))
# group f_myvar
#1 group1 NA
#2 group2 299
#3 group2 300
#4 group3 499
#5 group3 500
#6 group4 NA
A.K.
----- Original Message -----
From: Estefanía Gómez Galimberti <tefagg at yahoo.com>
To: r help help <r-help at r-project.org>
Cc:
Sent: Thursday, May 23, 2013 11:30 AM
Subject: [R] apply function within different groups
Hi,
I have a very big data frame and I would like to apply a function to one of the columns within different groups and obtain another dataframe
My data frame is like this:
group var1 var2 myvar
group1 1 a 100
group2 2 b 200
group2 34 c 300
group3 5 d 400
group3 6 e 500
group4 7 f 600
and I woud like to apply this function to column myvar:
mifunc = function(vec) {
vec=as.vector(vec)
for (i in 1:(length(vec)-1)){
vec[i]=vec[i+1]-1
}
return(vec)
}
by the groups in column group. I would like to obtain the same dataframe but with f(myvar) instead of myvar.
How can I do this?
Thanks,
Estefania
[[alternative HTML version deleted]]
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list