【发布时间】:2015-03-11 09:36:44
【问题描述】:
我想从 x 中减去 y,这意味着从 x 中删除一个“A”、三个“B”和一个“E”,所以xNew 将是c("A", "C", "A","B","D")。这也意味着
length(xNew)=length(x) - length(y)
x <- c("A","A","C","A","B","B","B","B","D","E")
y <- c("A","B","B","B","E")
setdiff 不起作用,因为
xNew <- setdiff(x,y)
xNew
[1] "C" "D"
匹配也不行
xNew <- x[-match(y,x)]
xNew
[1] "A" "C" "A" "B" "B" "B" "D"
它删除了第五个位置的“B”3次,所以还剩下三个“B”。
有谁知道如何做到这一点,R中是否有可用的函数或者我们应该编写一个私有函数? 提前非常感谢。
【问题讨论】:
标签: r vector subset subtraction