web-dev-qa-db-ja.com

Rでの組み合わせと順列の計算方法

確率を学び始めたばかりで、Linuxで動作するツールを探しています。

いくつかの組み合わせパッケージを見つけました http://rss.acs.unt.edu/Rdoc/library/Combinations/html/00Index.html をインストールしようとすると、プロセスが失敗しました次のメッセージ:

> install.packages("Combinations")
Installing package(s) into ‘/home/maxim/R/x86_64-pc-linux-gnu-library/2.13’
(as ‘lib’ is unspecified)
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
  package ‘Combinations’ is not available (for R version 2.13.1)
25
Maxim Veksler

R 2.13でcombinatパッケージを使用できます。

install.packages("combinat")
require(combinat)
permn(3)
combn(3, 2)

組み合わせ/順列の数を知りたい場合は、結果のサイズを確認してください、例えば:

length(permn(3))
dim(combn(3,2))[2]
29
Shane

コードを他のパッケージに依存させたくない場合は、いつでも次の関数を書くことができます。

perm = function(n, x) {
  factorial(n) / factorial(n-x)
}

comb = function(n, x) {
  factorial(n) / factorial(n-x) / factorial(x)
}
30
CCC

関数 combn は標準のutilsパッケージに含まれています(つまり、既にインストールされています)

choose は、特別な{base}でも既に利用可能です

22
PeterVermont

Combinationsパッケージは、標準のCRANパッケージセットの一部ではなく、別のリポジトリ、omegahatの一部です。それをインストールするには、使用する必要があります

install.packages("Combinations", repos = "http://www.omegahat.org/R")

http://www.omegahat.org/Combinations/ のドキュメントを参照してください

3
Brian Diggs

パッケージ「Combinations」はもう更新されておらず、Rの最新バージョンでは動作しない可能性があります(Windows上のR 2.13.1にインストールすることもできませんでした)。パッケージ「combinat」は問題なくインストールされ、何をしようとしているのかによっては解決策になるかもしれません。

1
Antoine Vernet