No.23128 gendat1  【コロン】 2021/08/30(Mon) 14:30

お世話になります。

gendat1を使って,0から100の間で指定された平均値,標準偏差を用いたデータを生成したいのですが,可能でしょうか?

http://aoki2.si.gunma-u.ac.jp/R/gendat1.html

*先ほど投稿しておりました [ ] についてですが,「データの要素を操作する」ということで自己解決を致しましたので,削除致しました。

No.23129 Re: gendat1  【aoki】 2021/08/31(Tue) 08:16

gendat1() で得られるデータは,平均値0,分散1ですので,線形変換すればよいです。
MEAN = 50
SD = 10
x = gendat1(100) * SD + MEAN
cat("mean =", mean(x), " sd =", sd(x), " range =", range(x))

> MEAN = 50
> SD = 10
> x = gendat1(100) * SD + MEAN
> cat("mean =", mean(x), " sd =", sd(x), " range =", range(x))
mean = 50 sd = 10 range = 20.78162 73.3806

どんな値でも,正確なデータを生成できます。
> MEAN = 71.235
> SD = 5.765
> x = gendat1(100) * SD + MEAN
> cat("mean =", mean(x), " sd =", sd(x), " range =", range(x))
mean = 71.235 sd = 5.765 range = 60.9522 92.67651
一応正規分布に従っていますので,平均値と標準偏差によっては 0〜100 の範囲外のデータが得られることもあるので,何回かやり直してください。

No.23130 Re: gendat1  【コロン】 2021/08/31(Tue) 12:20

青木先生

お忙しい中,ご教示いただきましてありがとうございました。解決いたしました。

● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る