Gabor Csardi wrote: >On Mon, Feb 04, 2008 at 03:21:10PM +0800, Ng Stanley wrote: > > >>Hi, >> >>Given a test matrix, test <- matrix(c(1,2,3,NA,2,3,NA,NA,2), 3,3) >> >>A) How to compute the counts of each column (excluding the NA) i.e., 3, 2, 1 >> >> > >apply(test, 2, function(x) sum(!is.na(x))) > >
or more efficiently: colSums(!is.na(test)) Patrick Burns [EMAIL PROTECTED] +44 (0)20 8525 0696 http://www.burns-stat.com (home of S Poetry and "A Guide for the Unwilling S User") > > >>B) How to compute the counts of each column (excluding the NA) that are >>greater than the column means ? i.e., 1, 1, 0 >> >> > >apply(test, 2, function(x) sum(x > mean(x, na.rm=TRUE), na.rm=TRUE)) > >In general, you need ?apply to calculate something for each row/column >of a matrix. > >Gabor > > > >>I could write a for loop, but hope to use better alternative. >> >> [[alternative HTML version deleted]] >> >>______________________________________________ >>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. >> >> > > > ______________________________________________ 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.