1

大きな数、つまり 37P10 (サイズ 10 の 37 の順列) の順序付き順列を生成しようとしています。combinat目的でパッケージ、関数を使用していますpermn()が、10個以上では機能しません。また、これにより、上記の例で説明したように、異なるサイズの順列を生成することはできません。

さらに、これらの順列をdo.call(rbind,)関数を使用してマトリックスに結合しています。目的に使用できるR言語の他のパッケージはありますか?

4

2 に答える 2

5

あなたが要求したことは、単純に実行できません。10 個の数字の順列 1.22e15 (または置換で 4.81e15) を生成して保存するよう求めています。それぞれの数値が 1 バイトしかない場合でも、1,000 万 GBの RAM が必要になります。

私のLSPMパッケージでは、この関数を使用しLSPM:::.nPriて、字句順に並べられたインデックスに基づいて特定の順列を生成します。妥当な時間内にすべての順列を繰り返すことはできないため、考えられるすべての順列のサンプルを取得することをお勧めします。

上記のコードは nPr(37,10) に対しては精度の問題があるため機能しませんが、出発点としては適切に機能するはずです。

于 2013-04-10T13:00:04.923 に答える