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@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 <[EMAIL PROTECTED]>    UNIL DGM

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

Reply via email to