Rで同じプログラム(関数)なのに結果が変わる時は?

更新日

R言語では、同じプログラム、同じ関数を使って、同じデータを解析しているのに、その解析結果が変わることがあります。

例えば、Rのパッケージ、”ada”に入っている関数ada()を使って、AdaBoostを行うとき、実行するたびに、結果が変わることがあります。

※R言語入門のトップページはこちら

目次

▼

対処法

解析ごとに結果が変わってしまうのは、関数の中でR側が用意した乱数を使っているから、であることがあります。

そして、乱数はシードと呼ばれるものによって決定されます。Rでは何も設定しなければ、シードはランダムに決まります。そこで、シードをこちら側で固定してあげることで、結果が変わるのを防げます。それは、プログラムの最初に次のように記載します。

set.seed(125)

この場合ではシードを125に設定していますが、ここの値はなんでも大丈夫です。プログラムにこの1行を加えることで、結果が変わる問題が解決することがあります。

 

もし、「同じプログラムで、同じ関数、同じデータなのに、なんで毎回結果が違うんだ!」とお悩みの方がいましたら、是非お試しください。

※R言語入門のトップページはこちら

カテゴリ: R言語入門

データサイエンティストを募集しています AVILEN採用サイトへ

関連サービス

講座一覧ページ

記事一覧はこちら

無料で統計学を学ぶ

AVILEN 採用情報

データサイエンティストを募集しています AVILEN採用サイトへ