2

想象一下,你有一个像

a <- c(0,0,0,1,1,1)

然后是另一个向量

b <- c(0,1,1)

你将如何从向量“a”中删除“b”向量元素?

输出应如下所示:

a (0,0,1) 
4

2 回答 2

0

我最初的解释是 ttmaccer,但现在我看到你的评论,你的问题就简单多了。您只想通过 B 中的项目减少 A 中的项目数量,并且顺序无关紧要。

at <- table(a)
b2 <- c(b, 0, 1) #in case b contains no 1s or 0s
bt <- table(b2) - c(1,1)
abt <- at - bt
rep(0:1, abt)
于 2012-07-09T16:07:19.350 回答
0

有趣的问题:

一种天真的方法是

test<-gsub(paste(b,collapse="~"),"",paste(a,collapse="~"))
test<-gsub("~~","~",test)
test<-as.numeric(unlist(strsplit(test,"~")))

编辑:

例如,您可以更改采样方法

idx <- sample(length(a))

如果你想取一个大小为 3 的样本

a.sample<-a[idx[1:3]]
a.leftover<-a[-idx[1:3]]

在这种情况下b<-idx[1:3]

于 2012-07-09T12:59:41.463 回答