R 实现分层抽样教程 |
您所在的位置:网站首页 › 分层随机抽样公式平均数 › R 实现分层抽样教程 |
我们经常需要从总体中抽取样本,并利用样本数据推断有关总体的结论。本文介绍分层抽样的概念以及R的实现过程。 分层抽样分层抽样是一种常用的抽样方法。它把总体分为多个组,然后从每个组中随机抽取一定数量样本形成分析样本。下面通过两个示例进行说明。 假设高校有400学生,包括大一、大二、大三、大四四个年级组成。我们现在需要采用分层抽样方法从每个年级随机抽取10人组成分析样本。 下面代码模拟生成100个学生数据: set.seed(1) df % sample_n(size = 10) # strat_samp % group_by(grade) %>% slice_sample(n = 10) table(strat_samp$grade) # Freshman Junior Senior Sophomore # 10 10 10 10我们看到每组有10条记录。 按行比例分层抽样我们实用dplyr包的 group_by() 和 sample_frac()函数,每个年级组抽取15%比例的记录: library(dplyr) strat_samp % group_by(grade) %>% sample_frac(size = .15) # strat_samp % group_by(grade) %>% slice_sample(prop = .15) table(strat_samp$grade) # Freshman Junior Senior Sophomore # 15 15 15 15我们看到每组抽取15条,因为每组总数为100,按15%比例进行随机抽样。当每个组总量不同时,按比例抽样会更合理。 函数说明通过官方文档,sample_n() 和 sample_frac() 已不建议使用,未来会统一使用 slice_sample()函数。使用该函数上面两种方式代码可以统一使用该函数: # 每组抽取固定数量 strat_samp % group_by(grade) %>% slice_sample(n = 10) # 每组抽取一定比例 strat_samp % group_by(grade) %>% slice_sample(prop = .15)两种方式的代码仅参数不同。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |