3

どこにも答えが見つかりませんが、簡単な質問があります。次のデータセットがあります。

data.set <- c(7,7,8,8,7,8,9)

Basic Stats ブックからの質問は次のとおりです。サイズ 2 のサンプルのサンプル平均のサンプル分布は何ですか? Rコマンダーで(またはコマンドラインを使用して)これを計算する可能性はありますか?

4

2 に答える 2

4

置換なしで単純な無作為標本抽出を行う場合、標本分布を調べる方法がいくつかあります。

# Exact
data.set <- c(7,7,8,8,7,8,9)
samps <- combn(data.set, 2)
xbars <- colMeans(samps)
table(xbars)
prop.table(table(xbars))
barplot(table(xbars))

# Simulated
data.set <- c(7,7,8,8,7,8,9)
out <- replicate( 10000, mean( sample(data.set, 2) ) )
prop.table(table(out))
hist(out)

正確なバージョンは小さな母集団 (このようなもの) では問題なく機能しますが、大きな母集団/サンプルでは実用的ではありません。たとえば、母集団のサイズが 100 で、サンプルのサイズが 10 で、1 秒あたり 10,000 の平均を計算できる場合でも、正確なバージョンを作成するにはほぼ 55 年かかるため、その場合はシミュレートされたバージョンの方がはるかに優れています。

于 2012-10-23T16:02:58.950 に答える
1

これ

mean2 <- function(x,y){ (x+y)/2 }
table(outer(data.set, data.set, "mean2")) / length(data.set)^2

あげる

         7        7.5          8        8.5          9 
0.18367347 0.36734694 0.30612245 0.12244898 0.02040816

あなたが探しているものかもしれません。確率は、9、18、15、6、および 1 の 1/49 です。


追加: 差し替えなし

mean2 <- function(x,y){ (x+y)/2 }
L     <- length(data.set)
table(outer(data.set, data.set, "mean2")[- ((L+1)*(1:L)-L) ] ) / (L*(L-1))

与える

        7       7.5         8       8.5 
0.1428571 0.4285714 0.2857143 0.1428571 

それぞれ 1/7、4/7、2/7、1/7 です。

于 2012-10-23T15:49:05.283 に答える