[R] remove NA rows and columns

Chuck Cleland ccleland at optonline.net
Tue Jul 31 14:15:35 CEST 2007


Antje wrote:
> Hello,
> 
> I guess, it's a rather simple thing but I cannot find a short way to reduce a 
> matrix, removing all rows and columns having just NA elements.
> 
> testmatrix <- matrix(nrow=6, ncol=4)
> testmatrix[2:5,2:3] <- seq(2)
> 
>  > testmatrix
>       [,1] [,2] [,3] [,4]
> [1,]   NA   NA   NA   NA
> [2,]   NA    1    1   NA
> [3,]   NA    2    2   NA
> [4,]   NA    1    1   NA
> [5,]   NA    2    2   NA
> [6,]   NA   NA   NA   NA
> 
> the new matrix should look like this (by the way, I don't "know" which rows and 
> columns are the one to be deleted...
> 
>  > testmatrix
>       [,1] [,2]
> [1,]   1    1
> [2,]   2    2
> [3,]   1    1
> [4,]   2    2

testmatrix[!apply(is.na(testmatrix), 1, all),
           !apply(is.na(testmatrix), 2, all)]

     [,1] [,2]
[1,]    1    1
[2,]    2    2
[3,]    1    1
[4,]    2    2

> Ciao,
> Antje
> 
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
> 
> 


-- 
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894



More information about the R-help mailing list