On 12/14/2010 01:14 AM, effeesse wrote:

I am sorry, but I cannot understand how to use the "summary" function. Maybe,
if I describe my needs, you could sketch a line that could work.
In the data set variable "V" can take values 1 to 14. For the subgroup of
individuals where "V" takes value =1 I want the mean and variance of a
certain set of other variables (V1, V2, V3, V4, V5). And this for all the
other subgroups for values 2 to 14.
What do you suggest?

Step 1 - In a "reproducible example" one makes up some data and does something to it to show how it is or isn't working. Clearly, you don't know how to do that yet, so here's how.

mydataframe<-data.frame(V=sample(1:14,100,TRUE),
 V1=rnorm(100),V2=runif(100),V3=sample(-3:3,100,TRUE),
 V4=sample(0:1,100,TRUE),V5=rpois(100,3))

If you run this code, you will then have a data frame that may not look like what you want, but it will serve as an example. In my initial post, I assumed that you wanted some summary statistic for each of the variables V1 to V5, broken down by V. That's easy:

by(mydataframe[c("V1","V2","V3","V4","V5")],
 mydataframe$V,mean)

If you run that code, you will get a big array of all of the means of all of the V1-V5 columns broken down by the V column as you asked. Now maybe you want both the mean and variance in one shot:

by_many<-function(x,by,stats) {
 nfun=length(stats)
 myoutputlist<-vector("list",nfun)
 for(fun in 1:nfun)
  myoutputlist[[fun]]<-by(x,by,get(stats[fun]))
 names(myoutputlist)<-stats
 return(myoutputlist)
}
by_many(mydataframe[c("V1","V2","V3","V4","V5")],
 mydataframe$V,stats=c("mean","var"))

The first part defines a function that will call "by" for each statistic that you pass in "stats", which now has to be the name of the function rather than the function. You will have to pick your variances out of the diagonal of the matrices due to the way "var" works.

So have a look at these and work out if they come close to doing what you want.

Jim

______________________________________________
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