我有一个包含很多NA的数据框。在进行探索性分析时,我更愿意在打印到屏幕时查看非缺失列。
mtcars[ 1 , 1 ] <- NA
mtcars[ 2 , 2 ] <- NA
我正在寻找一种有效的方法来选择特定行的所有非缺失列。例如,在这个修改过的mtcars版本中,我想在查看第一行时选择第2:11列。对于第二行,选择c(1,3:11)。我怀疑我可以在这里使用一个申请声明但是已经设法解决了。
答案 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 , ] )) ]
可能是一种更好的方法 - 但这可行