[R] counts of each column that are not NA, and/or greater than column means
Patrick Burns
pburns at pburns.seanet.com
Mon Feb 4 20:34:36 CET 2008
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
patrick at burns-stat.com
+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 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.
>>
>>
>
>
>
More information about the R-help
mailing list