Re: [R] Calculating SD according to groups of rows

From: Dieter Menne <dieter.menne_at_menne-biomed.de>
Date: Thu, 20 Nov 2008 08:20:36 +0000 (UTC)

pufftissue pufftissue <pufftissue <at> gmail.com> writes:

>
> What I am getting is indeed:
>
> 7200 23955 34563 8934
> 16.39977 10.03896 11.234 14.02
>
> I'd like the final output to be:
>
> subject_id hr_Stand_Deviation
> 7200 16.39977
> 23955 10.03896
> 34563 11.234
> 8934 14.02
>

The hard way could go like that; I personally got used to it, but I admit it is one of the thinks that are unusually difficult in R.

dat = data.frame(SUBJECT_ID=sample(letters[1:5],100,TRUE),HR=rnorm(100)) sd.list = with(dat, tapply(HR, SUBJECT_ID, sd)) data.frame(SUBJECT_ID=rownames(sd.list),sd=sd.list)

I think Hadley Wickham tried to make life easier with the plyr package, so I thought something like the below would work out of the box. However, there must be something wrong with the syntax, the result is only "approximately" correct.

Dieter

library(plyr)
daply(dat,.(SUBJECT_ID),sd)
ddply(dat,.(SUBJECT_ID),sd)



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. Received on Thu 20 Nov 2008 - 08:23:13 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 20 Nov 2008 - 13:30:26 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive