2

次のような 1 つのベクトルがあるとします。

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

そして別のベクトル

b <- c(0,1,1)

ベクトル「a」から「b」ベクトル要素をどのように削除しますか?

出力は次のようになります。

a (0,0,1) 
4

2 に答える 2

0

私はもともとttmaccerのように解釈しましたが、コメントが表示されるようになったので、問題ははるかに単純になりました。Aのアイテムの数をBのアイテムだけ減らしたいだけで、順序はまったく関係ありません。

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 に答える