[R] Averaging rows if a condition is true.

A Ezhil ezhil02 at yahoo.com
Tue Sep 8 15:45:43 CEST 2009


Thanks a lot, Mohamed. 

Kind regards,
Ezhil

--- On Mon, 9/7/09, Mohamed Lajnef <Mohamed.lajnef at inserm.fr> wrote:

> From: Mohamed Lajnef <Mohamed.lajnef at inserm.fr>
> Subject: Re: [R] Averaging rows if a condition is true.
> To: "A Ezhil" <ezhil02 at yahoo.com>
> Cc: r-help at r-project.org
> Date: Monday, September 7, 2009, 9:22 PM
> Hi,
> 
> Try to use aggregate function
> RSiteSearch ("aggregate")   #for help
> 
> 
> Regards
> ML
> 
> A Ezhil a écrit :
> > Dear All,
> >
> > I have matrix (50000 X 60) of subjects and their
> responses to a set of questions. All responses are
> classified into categories (500). I would like to average
> all subject's responses for each category. I wrote a code
> using a for loop but is not working. Could please tell me
> what's wrong with the code? I guess, there is a elegant R
> way of doing the same thing.
> >
> > Thanks in advance.
> >
> > Kind regards,
> > Ezhil
> >
> >
> > j <- 1; n <- dim(dat)[1]; cat <-
> as.character(dat[,1]);
> > row <- matrix(nrow=nrow(dat), ncol=ncol(dat));
> > for(i in 1:n-1) {
> >   if(cat[i] != cat[i+1]) {row[j, ]
> <- dat[j, ]}
> >   else {
> >       start <- j;
> >       end <- i;
> >       }
> >       row[j, ] <-
> colMeans(dat[j:i, ]);
> >       j+1;
> >   }
> >
> > ______________________________________________
> > 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.
> >
> >   
> 
> 
> -- 
> Mohamed Lajnef
> INSERM Unité 955. 
> 40 rue de Mesly. 94000 Créteil.
> Courriel : Mohamed.lajnef at inserm.fr
> 
> tel. : 01 49 81 31 31 (poste 18470)
> Sec : 01 49 81 32 90
> fax : 01 49 81 30 99 
> 
> 


     



More information about the R-help mailing list