質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

1141閲覧

[R言語]ポアソン分布乱数を使った2変数サンプル十万個(サイズ9)の相関係数

tamtam_kaz

総合スコア1

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

1グッド

0クリップ

投稿2022/11/30 08:52

編集2022/11/30 08:59

前提

R言語での計算です。

実現したいこと

ポアソン分布乱数を使って、xとyという2つの変数のサンプルサイズ9のサンプルを十万個生成し、サンプルの相関係数の平均と分散を計算したい。

発生している問題・エラーメッセージ

警告メッセージ: cor(x1,y1)で、標準偏差が0です。

該当のソースコード

R

1kN1<-(9) #サンプルサイズ 2kNs<-(100000) #サンプル数 3lamda<-(2) #ポアソン分布パラメータ 4cors<-numeric(kNs) 5for(i in seq(kNs)){ 6+x1<-rpois(kN1,lamda) 7+y1<-rpois(kN1,lamda) 8+cors[i]<-cor(x1,y1)} 9mean(cors) #相関係数の平均 10sd(cors) #相関係数の分散

試したこと

サンプル数(kNs)が1000,10000,50000のケースは計算が可能であった。

補足情報(FW/ツールのバージョンなど)

オープンソースのフリーソフトウェアR

tttadbjh👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NamerikawaR

2022/12/01 10:47 編集

単純に、xとy両方にc(1,1,1,1,1)みたいなのがたまたま出た際にエラーが出てるように思います。サンプルサイズが大きいと、全部同じ数値というのはなかなか起こらないので通るのでは。 ♯サンプルサイズとサンプル数を間違えてたので修正しました
tamtam_kaz

2022/12/01 05:55

一様分布乱数では十万のサンプル数で相関係数が計算できたことから、ポアソン分布によって生成される乱数に何か特徴があるのではないかと思った。
guest

回答1

0

ベストアンサー

サンプル数とサンプルサイズを混同したコメントを残して申し訳ないです。
options(warn = 2) を設定するとそこで止まるので、変数の中身を見ることができます。
この場合、y1が全部1なので、標準偏差がゼロとなり相関係数が計算できないとなります。

一様分布であればほぼ確実に同じ値にはならないため動きます。
サンプルサイズを大きくしても、すべて同じ数値になりにくくなるため、計算できるようになると思います。
サンプル数が小さい場合は、たまたま全部同じ数値にならなかったというだけで、何回か動かせばwarningは出ると思います。
サンプルコードを書くので、参考にしてください。

R

1set.seed(0) 2options(warn = 2) 3 4kN1 <- (9) 5kNs <- (100000) 6lamda <- (2) 7cors <- numeric(kNs) 8for(i in seq(kNs)){ 9 x1 <- rpois(kN1,lamda) 10 y1 <- rpois(kN1,lamda) 11 cors[i] <- cor(x1,y1)} 12 13x1 14y1 # 1 1 1 1 1 1 1 1 1 が返ってくる

投稿2022/12/01 10:46

NamerikawaR

総合スコア64

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tamtam_kaz

2022/12/02 03:52

納得しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問