全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅
847 2
2022-06-14
悬赏 10 个论坛币 未解决
目的:在一个数据库中,按性别、年龄(分组或加减5岁)频数相等的要求随机抽取一定的样本。如男性占60%、同时指定4个年龄段各自的比例。
采用R、SAS、SPSS、EXCEL实现均可。提供现成的链接也行。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-6-14 22:12:20
p1989 发表于 2022-6-14 16:56
目的:在一个数据库中,按性别、年龄(分组或加减5岁)频数相等的要求随机抽取一定的样本。如男性占60%、同 ...
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-6-21 14:46:25
自己试了一下,基本实现要求

R软件可以利用sampling包中的strata函数进行分层抽样,然后利用getdata获取抽样样本。

strata函数可以同时处理多个层变量,一次完成抽样。本例性别分男、女,年龄分3个组,结果在6个层中进行抽样。

主要过程:
先选读取抽样的数据库,名为data
library(sampling)
data1=data[order(data$性别,data$年龄段),] #排序(不排序将以属于不同层的记录出现先后作为层序)
sample=strata(data1,stratanames=c("性别","年龄段"),size=c(10,15,15,10,15,15),method="srswor")   #size=c括号内填入各层抽样数,个数与层数相等
sample1 <- getdata(data1,sample)  #将原数据库的全部字段与抽样记录合并
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群