2

ランダムサンプルの生成について質問があります。私はRに非常に慣れていないため、独自のシミュレーションを実行しようとしましたが、それが正しいかどうかはわかりません. 誰かが私を助けてくれることを本当に願っています。

たとえば、現在100人が生きています。基本的に、各人は今から次の期間までの間に確率 0.5 で死亡するか、確率 0.5 で次の期間まで生き残る --> つまり、成功確率 0.5 のベルヌーイ試行になります。

来年の生存者数を得るために、20 個のサンプルを生成したいと考えています。だから私は次のことをしました。

#number of people alive at time k
alive <- 100   

#generate 20 samples to find number of people alive next period
alive1 <- rbinom(20,alive,0.5)    

#generating result from r
alive1  
[1] 75 70 69 70 73 65 69 73 72 77 73 68 69 72 71 70 70 62 73 73

そうですか?

そして、Rでデータを転置する方法は? 現在、私のデータは一列に並んでいます。次のようになります:-

[1] 75 70 69 70 73 65 69 73 72 77 73 68 69 72 71 70 70 62 73 73

次のように列に変更するにはどうすればよいですか。

[1] 75    
[2] 70    
[3] 69    
....

[20] 73
4

2 に答える 2

3

コードは正しいですが、得られた出力は正しくありません。平均が 50 から離れすぎて二項分布から得られたものではないためです。alive1したがって、あなたが書いたコードによって実際に生成されたとは思いません。より典型的なサンプルを次に示します。

set.seed(123)
alive<-100
alive1<-rbinom(20,alive,0.5)
alive1
##  [1] 49 50 46 61 44 54 48 54 59 46 54 54 49 55 52 50 48 47 56 46

列ベクトル (つまり、1 列の行列) として使用する場合は、次のように呼び出すことができますas.matrix

alive1<-as.matrix(alive1)
alive1
##       [,1]
##  [1,]   49
##  [2,]   50
##  [3,]   46
##  [4,]   61
##  [5,]   44
##  [6,]   54
##  [7,]   48
##  [8,]   54
##  [9,]   59
## [10,]   46
## [11,]   54
## [12,]   54
## [13,]   49
## [14,]   55
## [15,]   52
## [16,]   50
## [17,]   48
## [18,]   47
## [19,]   56
## [20,]   46
于 2013-10-10T15:58:36.407 に答える