Thanks a lot, Mohamed. Kind regards, Ezhil
--- On Mon, 9/7/09, Mohamed Lajnef <mohamed.laj...@inserm.fr> wrote: > From: Mohamed Lajnef <mohamed.laj...@inserm.fr> > Subject: Re: [R] Averaging rows if a condition is true. > To: "A Ezhil" <ezhi...@yahoo.com> > Cc: r-help@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@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.laj...@inserm.fr > > tel. : 01 49 81 31 31 (poste 18470) > Sec : 01 49 81 32 90 > fax : 01 49 81 30 99 > > ______________________________________________ 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.