想象一下,你有一个像
a <- c(0,0,0,1,1,1)
然后是另一个向量
b <- c(0,1,1)
你将如何从向量“a”中删除“b”向量元素?
输出应如下所示:
a (0,0,1)
想象一下,你有一个像
a <- c(0,0,0,1,1,1)
然后是另一个向量
b <- c(0,1,1)
你将如何从向量“a”中删除“b”向量元素?
输出应如下所示:
a (0,0,1)
我最初的解释是 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)
有趣的问题:
一种天真的方法是
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]