Agrarimmobilien
2008-Mar-09 20:37 UTC
[R] transforming column of a dataframe by var- and median-functions
Hello, I try to transform a data frame like A B C 1 1 2,5 2 2 NA 3 1 1,0 4 1 56 5 2 23 6 1 NA 7 2 46 to the following dataframe, calculating the variance and median of the C-column, group by B, so the result will be: B C(median) D (var) 1 19,83 9 2 34,5 21 Doing this, I got problems with the NAs in column C. I tried to combine the aggregate - function aggregate(C, list(B), FUN=(mean, var)) with the following functions var(C, use="complete.obs") median(C, rm.na=TRUE) but it doesn't work as I want. Has anybody an idea how to do this work? thank you Iksmax
Daniel Malter
2008-Mar-09 21:02 UTC
[R] transforming column of a dataframe by var- and median-functions
I think tapply does the job you want: tapply(C,B,mean,na.rm=TRUE) tapply(C,B,var,na.rm=TRUE) Cheers, Daniel ------------------------- cuncta stricte discussurus ------------------------- -----Urspr?ngliche Nachricht----- Von: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Im Auftrag von Agrarimmobilien Gesendet: Sunday, March 09, 2008 4:38 PM An: R-help at r-project.org Betreff: [R] transforming column of a dataframe by var- and median-functions Hello, I try to transform a data frame like A B C 1 1 2,5 2 2 NA 3 1 1,0 4 1 56 5 2 23 6 1 NA 7 2 46 to the following dataframe, calculating the variance and median of the C-column, group by B, so the result will be: B C(median) D (var) 1 19,83 9 2 34,5 21 Doing this, I got problems with the NAs in column C. I tried to combine the aggregate - function aggregate(C, list(B), FUN=(mean, var)) with the following functions var(C, use="complete.obs") median(C, rm.na=TRUE) but it doesn't work as I want. Has anybody an idea how to do this work? thank you Iksmax ______________________________________________ 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.
Henrique Dallazuanna
2008-Mar-09 23:31 UTC
[R] transforming column of a dataframe by var- and median-functions
I think that your 'C' column is a factor(or character), because the
character used(comma).
One option:
dat$C <- as.numeric(gsub(",", ".", as.character(dat$C)))
library(doBy)
summaryBy(C ~ B, data=dat, FUN=c(median, var), na.rm = T)
On 09/03/2008, Agrarimmobilien <ralf.pfeiffer at agrarimmobilien.info>
wrote:> Hello,
>
> I try to transform a data frame like
>
> A B C
>
> 1 1 2,5
> 2 2 NA
> 3 1 1,0
> 4 1 56
> 5 2 23
> 6 1 NA
> 7 2 46
>
> to the following dataframe, calculating the variance and median of the
> C-column, group by B, so the result will be:
>
> B C(median) D (var)
> 1 19,83 9
> 2 34,5 21
>
>
> Doing this, I got problems with the NAs in column C.
> I tried to combine the aggregate - function
> aggregate(C, list(B), FUN=(mean, var))
>
> with the following functions
>
> var(C, use="complete.obs")
> median(C, rm.na=TRUE)
>
> but it doesn't work as I want. Has anybody an idea how to do this work?
>
> thank you
> Iksmax
>
> ______________________________________________
> 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.
>
--
Henrique Dallazuanna
Curitiba-Paran?-Brasil
25? 25' 40" S 49? 16' 22" O