将向量减少到R中的常见非NA值

Liv*_*vor 1 r vector na

我对R很新,所以答案可能很明显,但到目前为止,我只找到了不匹配的类似问题的答案,或者我无法将其转化为我的答案.

要求: 我有两个相同长度的向量,包含数值和NA值,可能如下所示:

[1] 12  8 11  9 NA NA NA

[1] NA  7 NA 10 NA 11  9
Run Code Online (Sandbox Code Playgroud)

我现在需要的是两个向量,它们只包含那些不在NA两个原始向量中的值,因此在这种情况下,结果应如下所示:

[1] 8 9

[1] 7 10
Run Code Online (Sandbox Code Playgroud)

我正在考虑简单地在循环中浏览向量,但数据集非常大,所以我希望能更快地解决这个问题...我希望有人可以帮助我...

ags*_*udy 7

您正在寻找complete.cases但是您应该将您的矢量放在data.frame中.

dat <- data.frame(x=c(12 ,8, 11, 9, NA, NA, NA),
                  y=c(NA ,7, NA, 10, NA, 11, 9))

dat[complete.cases(dat),]
  x  y
2 8  7
4 9 10
Run Code Online (Sandbox Code Playgroud)