私のコメントに関して、何が問題なのですか:
vec <- 1:100
set.seed(2)
samp <- sample(length(vec), 30)
a <- vec[samp]
b <- vec[-samp]
?
これらが重複のない別個のセットであることを示すには:
R> intersect(a, b)
integer(0)
ベクトルに重複する値がある場合は別の問題ですが、質問は不明です。
物事の重複を使用するとvec
、もう少し複雑になり、達成したい結果によって異なります。
R> set.seed(4)
R> vec <- sample(100, 100, replace = TRUE)
R> set.seed(6)
R> samp <- sample(100, 30)
R> a <- vec[samp]
R> b <- vec[-samp]
R> length(a)
[1] 30
R> length(b)
[1] 70
R> length(setdiff(vec, a))
[1] 41
したがって、setdiff()
ここでは長さが正しくないため「失敗」しますが、a
重複b
する値が含まれます (ただし、サンプルからの観測ではありません)。
R> intersect(a, b)
[1] 57 35 91 27 71 63 8 92 49 77
上記の値が元のサンプルで 2 回発生したため、重複 (交差) が発生します。vec