比较和消除R中向量的元素

时间:2016-08-11 11:02:35

标签: r

我们说我有两个向量

x <- c(1, 2, 3, NA, 5, 6, NA, NA, 10, 11, 12, NA, NA, 13)

y <- c(14, 15, 16, 17, 18 ,19, 20, 21, 22, 23, 24, 25, 26 ,27)

它们的长度均为14.我想从x中删除NAs,并在y中删除与其对应的值。并获得相等长度的x和y。

for (i in 1:length(x)) {
 for (j in 1:length(y)) {
   if(is.na(x[, i]==y[, j))
   x <- x[-which(x %n% y)]
 }
}

但它并没有给出我想要的东西。你能帮我吗?

2 个答案:

答案 0 :(得分:2)

我看了上面的评论,你想在没有NA的情况下绘制x和y吗? 如果是这样,你可以只绘制它,R不会给出任何警告或错误指示。

methodFromSameClassIWantToVerify();?

plot(x,y) does not hava problem. 如果您需要从x中删除NA并删除y中的相应值,则可以将x <- c(1, 2, 3, NA, 5, 6, NA, NA, 10, 11, 12, NA, NA, 13) y <- c(14, 15, 16, 17, 18 ,19, 20, 21, 22, 23, 24, 25, 26 ,27) plot(x,y) x合并到y中,然后使用na.omit()来处理{ {1}},最后,你可以绘制它。这些代码如下:

data.frame

OR :你可以使用索引来解决它。 is.na是一个帮助您检测哪个是NA的函数。 在向量x us中查找NA位置is.na(),

然后删除y中的相应值

最后,更改x中的值。代码如下:

new dataframe

注意:订单无法更改。

答案 1 :(得分:1)

x <- x[!is.na(x)]    
y <- y[!is.na(x)]