R从表输出中选择名称为NA的行

时间:2016-05-18 07:57:37

标签: r

我正在尝试以自定义行顺序打印“表格”的内容:

制作表格

t <- table(c('a','a','b','b','c',NA),rep(1:2,each=3), useNA='ifany')

打印内容

t[c('c','a','b'),]

但是现在我还要选择(作为最后一行)rowname == NA的行。

如果我这样做:

t[c('c','a','b','<NA>'),]

或     吨[C( 'C', 'A', 'B',NA),]

我得到了

  

t [c(“c”,“a”,“b”,NA)的错误,]:下标越界

  

t [c(“c”,“a”,“b”,“&lt; NA&gt;”)出错,]:下标超出范围

2 个答案:

答案 0 :(得分:0)

我自己找到了解决方案

t[match(c('c','a','b',NA),rownames(t)),]

我正在最后确定我的问题。也许某人有更好的伎俩?

答案 1 :(得分:0)

这将使您无需手动指定NA行:

narows <- is.na(rownames(t))
t[narows,]
# Test code
> t <- table(c('a','a','b','b','c',NA),rep(1:2,each=3), useNA='ifany')
> t

       1 2
  a    2 0
  b    1 1
  c    0 1
  <NA> 0 1
> narows <- is.na(rownames(t))
> narows
[1] FALSE FALSE FALSE  TRUE
> t[narows,]
1 2 
0 1