Rのrnorm関数とは?正しい使い方とは?

このQ&Aのポイント
  • Rのrnorm関数は平均と標準偏差を指定して、指定したサンプルサイズの標本を抽出する関数です。
  • 例えば、rnorm(n=5, mean=50, sd=10)はサンプルサイズが5の標本を抽出し、その平均値が50、標準偏差が10の正規分布に従います。
  • したがって、rnorm関数は乱数を生成する関数ではなく、指定したサンプルサイズの標本を生成する関数です。
回答を見る
  • ベストアンサー

Rのrnorm関数について

こんにちは。Rのrnorm関数についての質問です。 ある参考書のrnormに関する説明は正しいのでしょうか?以下、参考書の記述です。 『rnorm関数は、mean=,sd=で指定された平均、標準偏差を持つ正規分布からn=で指定されたサンプルサイズの標本を抽出する。例えば、 >rnorm(n=5,mean=50,sd=10 [1]45.12 [2]46.33 [3]56.32 [4]37.00 [5]47.89』となる。 rnorm関数は、「乱数を5つ発生させる」のではなく、「サンプルサイズが5の標本を5つ発生させる」ということなのでしょうか。乱数をn個、生成する関数だと思っていたので、サンプルサイズという記述があるせいで理解にお困っています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.3

『rnorm関数は、mean=,sd=で指定された平均、標準偏差を持つ正規分布からn=で指定されたサンプルサイズの標本を抽出する。』 という説明も正しいですよ。 これは、 >「サンプルサイズが5の標本を5つ発生させる」 ではなくて、 「サンプルサイズが5の標本を1つ発生させる」(結局のところ、正規分布の乱数を5個発生させる) という意味です。(普通に文章を読めば、これ以外の解釈はできないと思うのですが。。)

hetaeigo1989
質問者

お礼

言葉足らずで申し訳ありませんでした。 サイズが5の標本を1つ作り、結局は標本を5個発生させるということですよね。 ありがとうございました。

その他の回答 (2)

  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.2

要するに指定された分布(この場合、平均と分散(または標準偏差))に従う乱数を指定された個数だけ発生させるプログラムでしょう。 rnorm関数なるものがどのようなものか、使ったことはありませんが、 指定された分布を有する乱数の一般的な発生方法は一様乱数をまず必要数作成して、 これを指定された分布に従うように変換します。 正規分布の場合はよく知られているのはボックスーミューラー法です。参考url参照。 この方法では2つの一様乱数を使って2つの正規乱数を発生させます。 サンプル数とサンプルサイズの話は以下のurl参照。 http://homepage2.nifty.com/nandemoarchive/toukei_hosoku/hyohon.htm

参考URL:
http://ja.wikipedia.org/wiki/%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%EF%BC%9D%E3%83%9F%E3%83%A5%E3%83%A9%E3%83%BC%E6%B3%95
noname#227064
noname#227064
回答No.1

> ある参考書のrnormに関する説明は正しいのでしょうか? 間違いではありません。 そして > 乱数をn個、生成する関数 も正しいです。 しかし、 > サンプルサイズが5の標本を5つ発生させる は間違いです。 これでは、5×5 = 25個の乱数になってしまいます。 5個で、指定した平均と標準偏差の正規分布からの一つの標本となるのです。

hetaeigo1989
質問者

お礼

サイズが5の標本を1つ作り、結局は標本を5個発生させるという意味ですよね。 悩みが解消されました。 ありがとうございます。

関連するQ&A

  • 分布関数

    標本の密度関数がf(x)=x^(-a)である。 但し 0<x<1 0<a<1 標本からm個無作為抽出して平均値をとる操作をn回繰り返したときの、nを大きくしたときの平均の分布はどのようになるか分かる方教えて下さい。  この場合標本の分散が有限でないので正規分布にはならない。EXCELで簡単な例をやってみると、条件からx>0で、+方向に長いすそのを持った山になるので対数正規分布ではないかとおもいますが、いかかがでしょうか。

  • 乱数発生の関数。

    確率分布関数が次の表で与えられているとき,この分布に従う乱数を線形補間を使った逆変換によって生成する関数をどうやって作成したらいいか、全くわかりません。線形補間はなんとなくわかるんですが…。どなたか教えてください。 x F(x) 0 0.0024788 1 0.0173513 2 0.0619688 3 0.1512039 4 0.2850565 5 0.4456796 6 0.6063028 7 0.7439798 8 0.8472375 9 0.9160760 10 0.9573791 11 0.9799080 12 0.9911725 13 0.9963715 14 0.9985996 15 0.9994909 16 0.9998251 17 0.9999431 18 0.9999824 19 0.9999948 20 0.9999985 21 0.9999996 22 0.9999999 23 1.0000000

  • 「標本平均の分散」についての質問です.

    「標本平均の分散」についての質問です. 「母集団からn個のデータを無作為抽出する.すると,サンプルサイズnの標本ができ,標本平均が計算できる.これを,標本平均1としよう.この作業を何度も繰り返し,標本平均2,標本平均3・・・と,多数の標本平均を集める.これらの標本平均の分散は,母分散のn分の1(母分散/n)である」という説明をある本で読みました. では,極端な話,1000個のデータからなる母集団(有限母集団)から,サンプルサイズ1000個(母集団サイズと同じ)の標本をいくつも作ったとします.標本平均は,いつも母平均そのものであり,よって,標本平均の分散は0です.母分散/1000とはなりません. 上記の説明が間違っているのでしょうか?私が何か勘違いをしているのでしょうか?それとも,説明は無限母集団を対象としている,とか,母集団サイズとサンプルサイズが一致するような抽出は想定されていない,と言った理由があるのでしょうか?

  • 統計学での確率変数Xと観測値xの使い分けについて2

    確率変数は数量が対応付けられていてある数値になる確率が決まっている変数、と理解しています。確率変数X~N(μ,σ²)ならば、確率変数Xは横軸にあたり、ある変数になる確率が縦軸で表されていて、すなわち、μを平均値として分散σ²の正規分布になる、というイメージでした。また最近、確率変数がX1、X2、、、Xnと存在することがあり、これは同じ確率密度関数から複数回施行して、1回目をX1、二回目をX2にする等すれば有りうるようです(確率変数Xを分解している?)。 以下質問です。次のサイトの、「解放の手順」についてが主な質問です。 http://igakubugakushi.com/mean-difference-t-test1/ 1)②に、正規分布の再生性より確率変数の和X1+X2+、、、+Xn~N(nμ、nσ²)よって、X⁻(確率変数の平均)~N(μ、σ²/n) と記述があります。これは間違っていませんか?正規分布の再生性とは、母集団から一度抽出しているサンプルx1~xnも、正規分布になりますよ、ということですよね。スモールエックス ̄~N(μ、σ²/n)ではないですか? 2)もしくは、同じ②に、 正規母集団N(μ、σ²)から無作為に得られた標本 n 個をX1、X2、X3…Xnのように定めると、正規分布の再生性より確率変数の和 X1+⋯+Xn は N(nμ, nσ21) に従う。 とありますが、X1、X2は標本値と定義するのであれば、そのあとの確率変数の和、という記述はおかしくないですか?ラージエックスは確率変数では既にないと思うのですが。 3)同じページに問題1があり、標本平均X⁻=64.2、とあります。標本平均とあるので、この場合問題ないのですが、なぜスモールエックスで書かないのですか?統計学ではよくあるのですか?単なる間違いですか?

  • MATLABの乱数生成関数 rand( ) について

    一様乱数を生成する関数rand()について  ・Y = rand(n);  ・rand('state',sum(100*clock));   Y = rand(n); という2つのやり方があるようなのですが,以下のmatlabの関数の説明 のページをみても2つの違いが理解できません. http://infoshako.sk.tsukuba.ac.jp/ShakoDoc/MATLAB5/jhelp/techdoc/ref/rand.html どういう違いがあるのでしょうか? また,この関数は[0,1]の一様乱数としていますが,[-a,a]みたいに範囲指定はできないのでしょうか? 回答よろしくお願いします.

  • Rand関数について

    Rand関数について コンピューターの素人です。以下のカッコの中の理解で間違いないかどうか、教えてください。 「Rand関数は乱数を発生させる関数である。Rand関数は最小値と最大値を指定して、その範囲で整数の乱数を発生させることができる。」

  • 確率統計 プログラム

    (1) 正規乱数の発生–中心極限定理の利用  中心極限定理を利用して,区間[0, 1) の一様乱数から標準正規分布N(0, 1) に従う正 規乱数を100,000 個発生し,そのデータから得られる以下の各項目を報告しなさい. ここでは,一様乱数の生成は合同式法を用い,また,正規乱数の生成は中心極限定 理を利用して,いずれも自分で作成したC 言語プログラムで実現すること.(既存の RAND 関数などを用いない) 1. 100,000 個の正規乱数の平均値.なお,理論値は0 である. 2. 100,000 個の正規乱数の標準偏差.なお,理論値は1 である. 3. 100,000 個の正規乱数のヒストグラム(頻度分布).ただしここでのヒストグラ ムは,区間[−5, 5] を100 分割したものとする. 4. 100,000 個の正規乱数のヒストグラム.ただしここでのヒストグラムは,区間 [2.5, 5] を25 分割したものとする.これは,前項3 の右端部を取り出したもので ある. 5. 正規乱数を発生して上項1 ∼ 4 を求めるために作成した,プログラムのソース. (2) 正規乱数の発生–Box-Muller 法  ボックス・ミュラー法により,区間[0, 1) の一様乱数から標準正規分布N(0, 1) に従う 正規乱数を100,000 個発生し,そのデータから得られる以下の各項目を報告しなさい. ここでは,一様乱数の生成は合同式法を用い,また,正規乱数の生成はBox-Muller 法 を用いて,いずれも自分で作成したC言語プログラムで実現すること.(既存のRAND 関数などを用いない) 1. 正規乱数の平均値. 2. 正規乱数の標準偏差. 3. 正規乱数のヒストグラム.区間[−5, 5] を100 分割したものとする. 4. 正規乱数のヒストグラム.区間[2.5, 5] を25 分割したものとする. 5. プログラムのソース. (3) 両者の比較課題1, 2 で得られた結果を比較し,2 つの方法で得られた正規乱数の性質 に違いが見い出されれば,それを考察しなさい. 何ですけどお願いいたします 期限は2009/7/27

  • 統計学における標準化について

    A)標準化は、次のページの https://bellcurve.jp/statistics/course/19647.html サンプルxー平均値/標準偏差 であり、これで正規分布のz値と照らし合わせて確率を求めるというのは理解できました。 B)ただ、実践において、統計量Zを求める際に、次のサイトでは、 https://bellcurve.jp/statistics/course/9317.html z=x⁻(xの平均) -μ / √σ² * √n とあります。 分母が標準誤差です。 C)一方次のページでは、 https://bellcurve.jp/statistics/course/9490.html z=X-np / √np(1-p) とあり、こちらは標準偏差で割っています。 以下質問ですが、 1)Aは何も推定しておらず、すなわち記述統計で全サンプルが分かっている、すなわち母集団での話で、あるサンプルxiの全体のうちでの発生確率を示すために標準化してZ値を求めている、という考え方で正しいですか? 2)Bは標準誤差で割っているのは、母集団σ²から抽出した標本であり、抽出した確率変数Xについて、母集団が正規分布に従うのであれば、X~N(μ、σ²/n)に従うので、この分散の√を使っている(すなわち標準誤差を使う)という認識で正しいですか? 3)Cは二項分布のnが大きいときに中心極限定理で正規分布と近似させて解くという計算の話なのかと思いますが、これは、Aと同じように、変数Xから平均を引き、標準偏差で割っています。これは抽出した標本だと思うのですが、Aと同じ方法でいいのでしょうか?かといって。正規分布から抽出していませんが……。 それぞれの用語とかも良く調べましたが、いまいち使いこなせていません。A,B,Cそれぞれ分子も違うので、標準化を基本に色々やっているのだろうと思うのですが、使い分けというか、それぞれの出てくる場面とかも教えてほしいです。 よろしくお願いいたします。

  • 乱数の生成方法

    乱数を生成するソースコードを探しています rand関数で生成される乱数はよい乱数ではないようで それ以外でいい乱数を生成する方法はどのようなものがあるのでしょうか また、実装したソースコードのサンプルがあればWEBページなどを教えていただきたいです

  • 標準誤差と標準偏差の違いは何?

    誤っているのはどれか? 1. 算術平均値とは対象群のすべての変量の総和をその対象群の総数で徐したものをいう 2. 2集団の平均値が同じであっても2集団を構成する標本の分布が等しいとはいえない 3. 集団の標本が正規分布している場合、平均値±標準偏差の範囲には標本中の約68.27%が抱合される 4. 集団における平均誤差の絶対値は常に標準誤差の絶対値より大きい 5. 正規分布する標本数の等しい2集団において、標準偏差の絶対値が等しければ平均誤差の絶対値も等しい ――――-―――――――------------------------------------- このような問題を考えています。 自分なりに答えを出すと・・・・・・ 1. 算術平均値とは対象群のすべての変量の総和をその対象群の総数で徐したものをいう →(○)正しい。  定義どおりだと思います。 小学校で習った平均値ですね。 2. 2集団の平均値が同じであっても2集団を構成する標本の分布が等しいとはいえない →(○)正しい。 極端な例が混ざれば平均値は同じでも、バラツキがちがう 3. 集団の標本が正規分布している場合、平均値±標準偏差の範囲には標本中の約68.27%が抱合される   →(○)正しい。 そのとおり標準偏差(SD)のSD±1は68.27%である。 SD±2はたいか95%くらいでしたっけ。 SD±3は99.9%くらいだね。 つまりバラツキの度合いに占めるパーセンテージだと。 4. 集団における平均誤差の絶対値は常に標準誤差の絶対値より大きい →(○)正しい。 これがうさんくさい。 でも、私の持論によると・・・・・ ■SEχ(標準偏差の平均値)=σ/ √n     σは標準偏差です。 ■SDχ(標準誤差の平均値)=s/ √n      sは限られたサンプルより抽出した標準偏差の「予想値」です。                          そしてnはサンプルのサイズ(数)です。 つまり、標準偏差(SD)は国勢調査などで「全員」の数が把握できている場合であり、標準誤差(SE)は、大阪のミナミの繁華街の商店街の「全員」ということで つまり、 ■SEχ(標準偏差の平均値)=σ/ √n          →σ/ √日本の総人口 ■SDχ(標準誤差の平均値)=s/ √n          →s/ √大阪ミナミの商店街の人口 ・・・・ということで分母が小さくなりますから、 1/1000 と 1/10 では、1/10がおおきいですね。 つまり、調査の数が少ないと、誤差も大きくなるとそういうわけで、 誤差の絶対値は標準偏差よりも高くなるというわけです。 ですから一見この選択肢が誤りに見えますが、実は正しいのだと思います。 間違っていればどこがまちがっているか教えてください! 5. 正規分布する標本数の等しい2集団において、標準偏差の絶対値が等しければ平均誤差の絶対値も等しい →(○)正しい。 そのとおり。 本物と同じだから誤差も無い