R 中的抽样
Richie Cotton
Data Evangelist at DataCamp

人口普查会询问每个住户居住人数。

人口普查非常昂贵!

询问少量住户并用统计方法估计整个总体,成本更低。
使用总体的一个子集称为"抽样"。
"总体"是完整的数据集。
"样本"是用于计算的数据子集。
| total_cup_points | variety | country_of_origin | aroma | flavor | aftertaste | body | balance |
|---|---|---|---|---|---|---|---|
| 90.58 | NA | Ethiopia | 8.67 | 8.83 | 8.67 | 8.50 | 8.42 |
| 89.92 | Other | Ethiopia | 8.75 | 8.67 | 8.50 | 8.42 | 8.42 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 73.75 | NA | Vietnam | 6.75 | 6.67 | 6.5 | 6.92 | 6.83 |
pts_vs_flavor_pop <- coffee_ratings %>%
select(total_cup_points, flavor)
dim(pts_vs_flavor_pop)
1338 2
total_cup_points flavor
1 90.58 8.83
2 89.92 8.67
3 89.75 8.50
4 89.00 8.58
... ... ...
1335 78.08 7.67
1336 77.17 7.33
1337 75.08 6.83
1338 73.75 6.67
pts_vs_flavor_samp <- coffee_ratings %>%
select(total_cup_points, flavor) %>%
slice_sample(n = 10)
dim(pts_vs_flavor_samp)
10 2
total_cup_points flavor
1 82.25 7.58
2 83.50 7.67
3 80.50 7.17
4 79.33 7.17
5 83.83 7.58
6 84.17 7.75
7 83.67 8.17
8 81.92 7.50
9 82.67 7.58
10 83.42 7.67
数据框用 slice_sample(),向量用 sample()。
cup_points_samp <- sample(coffee_ratings$total_cup_points, size = 10)
88.25 83.83 83.17 82.67 84.67 83.42 73.67 86.00 81.58 80.92
"总体参数"是在总体数据上计算的。
mean(pts_vs_flavor_pop$total_cup_points)
82.15
"点估计"或"样本统计量"是在样本数据上计算的。
mean(cup_points_samp)
82.82
pts_vs_flavor_pop %>%
summarize(mean_flavor = mean(flavor))
mean_flavor
1 7.526
pts_vs_flavor_samp %>%
summarize(mean_flavor = mean(flavor))
mean_flavor
1 7.716
R 中的抽样