Rで同じプログラム(関数)なのに結果が変わる時は?
R言語では、同じプログラム、同じ関数を使って、同じデータを解析しているのに、その解析結果が変わることがあります。
例えば、Rのパッケージ、”ada”に入っている関数ada()を使って、AdaBoostを行うとき、実行するたびに、結果が変わることがあります。
※R言語入門のトップページはこちら
目次
対処法
解析ごとに結果が変わってしまうのは、関数の中でR側が用意した乱数を使っているから、であることがあります。
そして、乱数はシードと呼ばれるものによって決定されます。Rでは何も設定しなければ、シードはランダムに決まります。そこで、シードをこちら側で固定してあげることで、結果が変わるのを防げます。それは、プログラムの最初に次のように記載します。
set.seed(125)この場合ではシードを125に設定していますが、ここの値はなんでも大丈夫です。プログラムにこの1行を加えることで、結果が変わる問題が解決することがあります。
もし、「同じプログラムで、同じ関数、同じデータなのに、なんで毎回結果が違うんだ!」とお悩みの方がいましたら、是非お試しください。
※R言語入門のトップページはこちら
カテゴリ: R言語入門

関連するサービス
記事の筆者

AVILEN編集部
株式会社AVILEN

