Skip to content
Prev 69273 / 398528 Next

how to get such a subset of a matrix?

R> a <- matrix(1:36,6,6)
R> is.na(a[row(a)<col(a)]) <- TRUE
R> a
      [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1   NA   NA   NA   NA   NA
[2,]    2    8   NA   NA   NA   NA
[3,]    3    9   15   NA   NA   NA
[4,]    4   10   16   22   NA   NA
[5,]    5   11   17   23   29   NA
[6,]    6   12   18   24   30   36

 > a[apply(a,1,function(x){sum(is.na(x))<=2}),]
      [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    4   10   16   22   NA   NA
[2,]    5   11   17   23   29   NA
[3,]    6   12   18   24   30   36
 >

Hope this helps

rksh
On May 6, 2005, at 02:21 pm, Xiao Shi wrote:

            
--
Robin Hankin
Uncertainty Analyst
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
  tel  023-8059-7743