gpt4 book ai didi

r - 在两个向量中找到不匹配的位置,包括 NA

转载 作者:行者123 更新时间:2023-12-04 23:35:07 25 4
gpt4 key购买 nike

我很不好意思问这个问题。有经验的 R 用户肯定知道这一点,但这里是:

我需要找到两个假定相同的向量之间不匹配的位置。在这种情况下,将 NA 视为不匹配非常重要。

数据示例

> x <- c(1, NA, NA, NA, 5); x
[1] 1 NA NA NA 5
> y <- c(1, NA, NA, 4, 5); y
[1] 1 NA NA 4 5

我想得到什么

如果我得到一个 bool 向量或一个位置不匹配的数字向量,对我来说并不重要:
> c(F, T, T, T, F)
[1] FALSE TRUE TRUE TRUE FALSE
> 2:4
[1] 2 3 4

我尝试过的事情:
> which(x != y)
integer(0)
> setdiff(x, y)
numeric(0)
> !(x %in% y)
[1] FALSE FALSE FALSE FALSE FALSE

最佳答案

您可以使用 :

x != y | is.na(x & y)
#Or checking NA individually
#x != y | is.na(x) | is.na(y)
#[1] FALSE TRUE TRUE TRUE FALSE

然后您可以轻松地包装 which围绕这个得到数字向量
which(x != y | is.na(x & y))
#[1] 2 3 4

关于r - 在两个向量中找到不匹配的位置,包括 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60273244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com