我有一个带有数字和NA元素的向量。 例如,
data<-c(.4, -1, 1, NA, 8, NA, -.4)
data[complete.cases(data), ]
但是将它们分成不同的向量的功能是什么,所以我可以使用诸如boxplot和ECDF之类的图来比较它们?
答案 0 :(得分:4)
目前尚不清楚您要解决的问题。 complete.cases
创建一个逻辑向量供选择(如果你正确使用它。)你可以否定它以获得其他的。您尝试使用[ , ]
时无法处理向量,但如果“数据”是一个可行的数据框(或矩阵),则无法对其进行处理。
data<-c(.4, -1, 1, NA, 8, NA, -.4)
data[complete.cases(data) ]
#[1] 0.4 -1.0 1.0 8.0 -0.4
data[!complete.cases(data) ]
#[1] NA NA
如果正在尝试选择非NA项目,则可能更容易使用!is.na(data)
作为选择向量。这是一个测试用例,显示它适用于矩阵以及data.frames:
> dat <- matrix( sample(c(1,2,NA), 12, rep=TRUE), 3)
> dat
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] NA NA 2 2
[3,] 1 NA 2 1
> dat[ complete.cases(dat), ]
[1] 1 1 1 1
> dat[ ! complete.cases(dat), ]
[,1] [,2] [,3] [,4]
[1,] NA NA 2 2
[2,] 1 NA 2 1