# Re: [R] remove NA rows and columns

```Hello,

thank you both very much!
It is as easy as expected... (I think I still have to learn a lot!)```
```
Have a nice day!
Antje

> Or, these operations can be called in one command:
>
>> testmatrix[-which(apply(testmatrix,1,function(x)all(is.na(x)))),-which(apply(testmatrix,2,function(x)all(is.na(x))))]
>      [,1] [,2]
> [1,]    1    1
> [2,]    2    2
> [3,]    1    1
> [4,]    2    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
>>
>>> 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
>>>
>>
>

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help