On Dec 19, 2011, at 11:00 AM, Pablo wrote:

Suppose I have the following:

x1<-as.vector(rnorm(10))
x2<-as.vector(rnorm(10))
x3<-as.vector(rnorm(10))
x4<-as.vector(rnorm(10))
x5<-as.vector(rnorm(10))
x6<-as.vector(rnorm(10))
x7<-as.vector(rnorm(10))
x8<-as.vector(rnorm(10))
x9<-as.vector(rnorm(10))
x10<-as.vector(rnorm(10))

I would like the mean of x1 to x6 for each vector position.

> apply( data.frame(x1,x2,x3,x4,x5,x6), 1, mean)
[1] -0.39321854 -0.92940746 -0.04843466 -0.27764111 0.44058599 0.73512759
 [7] -0.22232332 -0.89535287 -0.33430655  0.66217526
> apply( matrix(c(x1,x2,x3,x4,x5,x6),ncol=6), 1, mean)
[1] -0.39321854 -0.92940746 -0.04843466 -0.27764111 0.44058599 0.73512759
 [7] -0.22232332 -0.89535287 -0.33430655  0.66217526

After seeing Jim Holtman's suggestion, it should be clear that rowMeans would work just even better than these `apply` solutions when used with this "vertical" orientation of the vectors.


I would do
something else with x7-x10. These vectors are not currently in a dataframe.
I tried to be clever by trying get(paste(paste("x", 1:6, sep=""),
collapse="+")) but it didn't work. Any thoughts are greatly appreciated,


--

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@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.

Reply via email to