私は長さが変化するシーケンスを持っています。以下のようなもの:未知の長さのシーケンスを特定の数のセットに分割するR
items <- 1:4
私はセットのn
数のすべての組み合わせに分割します。
Set A Set B
----- -----
1 2 3 4
1 2 3 4
1 2 3 4
1 3 2 4
など即ち、集合{1
、2
、3
}重要ではありませんセット内の配置は、{2
、1
、3
}と同じです。だから私は返すようにしたい、n
が2であると言います。セットは空にすることはできません。ベスト
私は(パッケージcombinat
からpermn
を使用して)を考え出すことができことである:それはすなわち等しいセットを返すので、かなり無用である
n <- 2
r <- 1:length(items)
arrangements <- NULL
for (i in 1:(n-1)) {
A <- r[(1:i)]
B <- r[-(1:i)]
arrangements <- c(arrangements, apply(do.call(rbind, permn(1:length(items))), 1, function(z) list(z[A], z[B])))
}
{1
、2
、3
}と{2
、 1
,3
}であり、異なる値のn
を処理するのに十分なほど柔軟ではありません。誰でも私がこれをどうやってできるか考えている?ありがとう。