[R] reshape/aggregate
jim holtman
jholtman at gmail.com
Wed Aug 31 14:03:13 CEST 2011
You can use data.table:
> group <- c(rep('A', 8), rep('B', 15), rep('C', 6))
> time <- c(rep(seq(1:4), 2), rep(seq(1:5), 3), rep(seq(1:3), 2))
> value <- runif (29, 1, 10)
> dfx <- data.frame (group, time, value)
> require(data.table)
> dfx <- data.table(dfx)
> dfx[,
+ list(mean = mean(value), sd = sd(value))
+ , by = list(group, time)
+ ]
group time mean sd
[1,] A 1 7.902432 0.8484807
[2,] A 2 5.583566 1.1996167
[3,] A 3 3.412691 1.1138794
[4,] A 4 7.786522 2.2367483
[5,] B 1 6.669257 2.1476769
[6,] B 2 2.902291 1.6630821
[7,] B 3 6.913593 0.9110182
[8,] B 4 4.713124 0.9521689
[9,] B 5 7.285824 1.5884689
[10,] C 1 3.799665 3.7728015
[11,] C 2 9.218785 0.9415034
[12,] C 3 5.098077 3.5256497
On Wed, Aug 31, 2011 at 4:19 AM, Kai Megerle <govokai at gmail.com> wrote:
> Hi all,
> I apologize for this probably stupid question, but I really can't figure it
> out.
> I have a dataframe like this:
>
> group <- c(rep('A', 8), rep('B', 15), rep('C', 6))
> time <- c(rep(seq(1:4), 2), rep(seq(1:5), 3), rep(seq(1:3), 2))
> value <- runif (29, 1, 10)
> dfx <- data.frame (group, time, value)
>
> I want to calculate mean and standard deviation for all values that belong
> to the same group and the same time and end up with a dataframe with the
> columns time, group, mean and sd that contains the calculated values for
> every group at every time point only once (12).
> What is the most elegant way to do this? Oh, and I would like to avoid
> renaming columns (like the _X1/_X2 created by casting with multiple
> functions), if possible.
> I am sure that this is pretty basic, but I have already wasted a ridiculous
> amount of time on this.
>
> Thanks,
>
> Kai
>
> [[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.
>
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
More information about the R-help
mailing list