R:找到一个向量中没有出现在另一个向量中的每个元素并将其设置为零

标签 r vector

我有两个数值向量:

a <- c(1,2,3,4,5,6,7,8)
b <- c(4,2,2,3,9,10,7,7,10,14)

我想将 b 中未出现在 a 中的任何数字设置为零。 我想要的结果是:

c <- c(4,2,2,3,0,0,7,7,0,0)

谁能以优雅的方式做到这一点?

(我想使用 left_join 但我认为必须有一些更优雅的方法)

最佳答案

您可以通过使用 %in% 函数子集 b 来做到这一点:

b[! b %in% a] <- 0

关于R:找到一个向量中没有出现在另一个向量中的每个元素并将其设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62068885/

相关文章:

c++ - 错误 : Infinite-loop when loading elements into vector

c++ - 如何从多个 vector 中找到不相同的元素?

r - 向数据框中的列添加单引号

html - 更改 RMarkdown HTML 输出中图形标题的字体大小

r - 如何找到具有相同值的两行,但以相反的顺序删除其中一行?在R中

r - ggplot : order of factors with duplicate levels

r - as.double(y): cannot coerce type 'S4' to vector of type 'double' 中的错误

c++ - 对 vector 内的值进行排序时,排序方法会生成错误

C++ vector 冒泡排序

c++ - 将 int 插入 vector 时出错