自我推销警报。我编写了一个函数,可以方便地进行分层抽样,并且在抽样之前,我已经包含了一个选项,可以从分组变量中提取级别。
该函数被调用stratified
并且可以通过以下方式使用:
set.seed(1)
# Proportional sample
stratified(mydf, group="gender", size=.2, select=list(gender = "F"))
# gender age
# 4 F 29
# Fixed-size sampling
stratified(mydf, group="gender", size=2, select=list(gender = "F"))
# gender age
# 4 F 29
# 5 F 31
您可以指定多个组(例如,如果您的数据框包含一个“状态”变量,并且您想按您指定的“状态”和“性别”进行分组group = c("state", "gender")
)。您还可以指定多个“选择”参数(例如,如果您只想要来自加利福尼亚州和德克萨斯州的女性受访者,并且您的“州”变量使用两个字母的州缩写,您可以指定select = list(gender = "F", state = c("CA", "TX"))
)。
该功能本身可以在这里找到,或者您可以使用“devtools”包下载并安装包(这使您可以方便地访问帮助页面和示例),install_github
如下所示:
# install.packages("devtools")
library(devtools)
install_github("mrdwabmisc", "mrdwab")