[R] efficient filtering of matrices

sms13+@pitt.edu sms13+ at pitt.edu
Thu May 5 20:05:58 CEST 2005


I was wondering if someone can tell me the best way to search through a 
matrix and choose certain rows (based on certain conditions) to put into a 
separate matrix.
What I have tried so far is very slow for a large dataset I'm working with. 
e.g., I have this piece of code to create a new matrix (newmat) based on my 
filtering conditions.  Do I need to do this kind of thing where I keep 
rbinding?

newmat<-rep(NA,12)
for (i in 1:length(origmat[,1])
{
	if (  is.na(origmat[i,10])  |  (!is.na(origmat[i,10]) & (origmat[i,2] <= 
origmat[i,10]) )   )
		newmat<-rbind(newmat, origmat[i,])
}


Thanks,
Steven




More information about the R-help mailing list