[R] Odp: Calculating group means using self-written function
Petr PIKAL
petr.pikal at precheza.cz
Tue Oct 2 11:49:15 CEST 2007
Hi
r-help-bounces at r-project.org napsal dne 02.10.2007 10:44:20:
> Hi R-users,
>
> Suppose I have a following data set.
>
> y1 <- rnorm(20) + 6.8
> y2 <- rnorm(20) + (1:20*1.7 + 1)
> y3 <- rnorm(20) + (1:20*6.7 + 3.7)
> y <- c(y1,y2,y3)
> var1 <- rep(1:5,12)
> z <- rep(1:6,10)
> f <- gl(3,20, labels=paste("lev", 1:3, sep=""))
> d <- data.frame(var1=var1, z=z,y=y, f=f)
>
> Using following code I can calculate group means
>
> library(doBy)
> summaryBy(y ~ f + var1, data=d, FUN=mean)
>
> How do I have to modify the FUN argument if I want to calculate mean
> using unique values
>
> for instance
>
> fun <- function(x, y) sum(x)/length(unique(y))
> summaryBy(y ~ f + var1, data=d, FUN=fun(y, z)
>
> Error in get(x, envir, mode, inherits) : variable "currFUN" of mode
> "function" was not found
Not sure how to do it in doBy but using aggregate
aggregate(d$y, list(d$var1,d$f), fun, y=z)
probably do what you want
Regards
Petr
>
> Best regards
> LN
>
> ______________________________________________
> 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