[R] aggregate()?

David Winsemius dwinsemius at comcast.net
Sun Feb 2 19:52:03 CET 2014


On Feb 2, 2014, at 8:43 AM, arun wrote:

> Also,
> 
>  with(d,aggregate(cbind(Nitrogenr=Nitrogen,Respirationr=Respiration),by=list(Soilr=Soil,Stockr=Stock),FUN=mean))
> 

Did you compare your output to the input?

-- 
David.
> A.K.
> 
> On Sunday, February 2, 2014 7:58 AM, Rui Barradas <ruipbarradas at sapo.pt> wrote:
> Hello,
> 
> First of all avoid as.data.frame(cbind(...)). cbind() returns a matrix 
> and since you are mixing numbers with characters, all of the matrix 
> elements become character. Then as.data.frame transforms everything into 
> factors. The correct way is
> 
> d <- data.frame(Stock, Soil, Nitrogen, Respiration)
> 
> 
> As for your question, try the following.
> 
> r1 <- aggregate(Respiration ~ Soil + Stock, data = d, mean)
> r2 <- aggregate(Nitrogen ~ Soil + Stock, data = d, mean)
> 
> merge(r1, r2, all = TRUE)
> 
> 
> Hope this helps,
> 
> Rui Barradas
> 
> Em 02-02-2014 12:32, Beatriz R. Gonzalez Dominguez escreveu:
>> Hi all,
>> 
>> I'm trying to compute a mean on my data but I'm struggling with 2
>> things: 1. getting the right layout and 2. including the missing values
>> in the outcome.
>> 
>> #Input data:
>> Stock <- c("A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", "B")
>> Soil <- c("Blank", "Blank", "Control", "Control", "Clay", "Clay",
>> "Blank", "Blank", "Control", "Control", "Clay", "Clay")
>> Nitrogen <- c(NA, NA, 0, 0, 20, 20, NA, NA, 0, 0, 20, 20)
>> Respiration <- c(112, 113, 124, 126, 139, 137, 109, 111, 122, 124, 134,
>> 136)
>> d <- as.data.frame(cbind(Stock, Soil, Nitrogen, Respiration))
>> 
>> #Outcome I'd like to get:
>> Stockr <- c("A", "A", "A", "B", "B", "B")
>> Soilr <- c("Blank", "Control", "Clay", "Blank", "Control", "Clay")
>> Nitrogenr <- c(NA, 0, 20, NA, 0, 20)
>> Respirationr <- c(111, 125, 138, 110, 123, 135)
>> result <- as.data.frame(cbind(Stockr, Soilr, Nitrogenr, Respirationr))
>> 
>> Many thanks in advance for your help!
>> 
>> Cheers,
>> 
>> Bea
>> 
>> ______________________________________________
>> 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.
> 
> 
> ______________________________________________
> 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.
> 
> 
> ______________________________________________
> 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.

David Winsemius
Alameda, CA, USA




More information about the R-help mailing list