我有一个带有数字和 NA 元素的向量。例如,
data<-c(.4, -1, 1, NA, 8, NA, -.4)
data[complete.cases(data), ]
但是有什么功能可以将它们分成不同的向量,以便我可以使用箱线图和 ECDF 等图表来比较它们?
目前尚不清楚您要解决什么问题。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