[R] remove NA rows and columns

Vladimir Eremeev wl2776 at gmail.com
Tue Jul 31 14:16:00 CEST 2007


> 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

> tm1<-testmatrix[,-which(apply(testmatrix,2,function(x)all(is.na(x))))]
> tm1
     [,1] [,2]
[1,]   NA   NA
[2,]    1    1
[3,]    2    2
[4,]    1    1
[5,]    2    2
[6,]   NA   NA

> tm2<-tm1[-which(apply(testmatrix,1,function(x)all(is.na(x)))),]
> tm2
     [,1] [,2]
[1,]    1    1
[2,]    2    2
[3,]    1    1
[4,]    2    2
 

Antje wrote:
> 
> 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
> 

-- 
View this message in context: http://www.nabble.com/remove-NA-rows-and-columns-tf4192605.html#a11923002
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list