我有一个简单的问题,虽然我无法在任何地方找到答案 . 我有以下数据集:
data.set <- c(7,7,8,8,7,8,9)
“基本统计”一书中提出的问题是:对于2号样本,样本均值的抽样分布是多少?是否有可能在R指令器中(或使用命令行)计算此值 .
在进行简单的随机样本而不进行替换时,有几种方法可以查看采样分布:
# 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并且你可以计算每秒10,000个手段,那么确实需要近55年才能完成确切的版本,因此在这种情况下模拟版本会更好 .
这个
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,
2 回答
在进行简单的随机样本而不进行替换时,有几种方法可以查看采样分布:
确切的版本适用于小群体(如此群体),但对于大群体/样本不适用,例如如果你的人口规模是100而且你的样本大小为10并且你可以计算每秒10,000个手段,那么确实需要近55年才能完成确切的版本,因此在这种情况下模拟版本会更好 .
这个
会给
这可能是你正在寻找的东西 . 概率是9,18,15,6和1的1/49 .
补充:无需更换
给
它们分别是1 / 7,4 / 7,2 / 7,1 / 7,