[R] counts of each column that are not NA, and/or greater than column means

Gabor Csardi csardi at rmki.kfki.hu
Mon Feb 4 09:32:33 CET 2008


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)))

> 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 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.

-- 
Csardi Gabor <csardi at rmki.kfki.hu>    UNIL DGM



More information about the R-help mailing list