[R] calculate sd for each row on some columns of a dataframe

Henrique Dallazuanna wwwhsd at gmail.com
Thu Feb 28 12:34:52 CET 2008


Try this:

lapply(list(letters[1:3], letters[2:4]), function(x)apply(df[,x], 1, sd))

On 28/02/2008, Albert Vilella <avilella at gmail.com> wrote:
> Hi,
>
>  I've got a dataframe like this:
>
>  df = data.frame(a=rnorm(100,1),b=rnorm(100,10),c=rnorm(100,100),d=rnorm(100,-100))
>
>  and I want to calculate sd1 for (a,b,c) for each entry, and sd2 for
>  (b,c,d) for each entry.
>
>  I don't seem to find the answer using aggregate or apply,
>
>  How can I do this?
>
>  Thanks in advance,
>
>  Cheers,
>
>     Albert.
>
>  ______________________________________________
>  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



More information about the R-help mailing list