索引/选择所有非缺失/ NA列

时间:2014-07-02 17:17:05

标签: r

我有一个包含很多NA的数据框。在进行探索性分析时,我更愿意在打印到屏幕时查看非缺失列。

mtcars[ 1 , 1 ] <- NA
mtcars[ 2 , 2 ] <- NA

我正在寻找一种有效的方法来选择特定行的所有非缺失列。例如,在这个修改过的mtcars版本中,我想在查看第一行时选择第2:11列。对于第二行,选择c(1,3:11)。我怀疑我可以在这里使用一个申请声明但是已经设法解决了。

2 个答案:

答案 0 :(得分:2)

这个怎么样:

viewRow <- function(x,row) x[row,!is.na(x[row,])]
viewRow(mtcars,1)
          cyl disp  hp drat   wt  qsec vs am gear carb
Mazda RX4   6  160 110  3.9 2.62 16.46  0  1    4    4
viewRow(mtcars,2)
              mpg disp  hp drat    wt  qsec vs am gear carb
Mazda RX4 Wag  21  160 110  3.9 2.875 17.02  0  1    4    4

答案 1 :(得分:0)

有人给了我有效的代码

names(mtcars)[ which(!is.na(mtcars[ 1 ,   ] )) ]
names(mtcars)[ which(!is.na(mtcars[ 2 ,   ] )) ]

可能是一种更好的方法 - 但这可行