楼主: yotro
4396 5

[求助]急~~如何用SAS实现如下的分层抽样? [推广有奖]

  • 0关注
  • 0粉丝

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
119 点
帖子
11
精华
0
在线时间
1 小时
注册时间
2009-5-24
最后登录
2016-6-3

楼主
yotro 发表于 2009-5-28 18:58:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

求助下,如何用SAS实现如下的分层抽样呢?抽样模块能实现么?

数据1000条,其中类1:100条,类0:900条;抽样之后类1:100条,类0:400条?

急啊~~急~~

二维码

扫码加我 拉你入群

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

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

关键词:分层抽样 如何用 SAS 分层抽样

回帖推荐

nkwilling 发表于2楼  查看完整内容

首先,你这个根本就不是分层抽样,因为抽样后类1还是100条,等于就对类2抽样,这个要编程的:proc surveyselect data=yourdata(where(flag=0))method=srs n=400 out=outdata;run;在把outdata和类1数据集合并即可。真正的分成抽样是非常复杂的,在sas里面用strata实现。这一块有很多内容,因为这里面涉及到很多技巧。如果你有兴趣,在我即将更新的SAS应用班视频教学培训里面会有详细的介绍。

本帖被以下文库推荐

沙发
nkwilling 发表于 2009-5-28 20:32:00

首先,你这个根本就不是分层抽样,因为抽样后类1还是100条,等于就对类2抽样,这个要编程的:

proc surveyselect data=yourdata(where(flag=0))
method=srs n=400 out=outdata
;
run;

在把outdata和类1数据集合并即可。

真正的分成抽样是非常复杂的,在sas里面用strata实现。这一块有很多内容,因为这里面涉及到很多技巧。如果你有兴趣,在我即将更新的SAS应用班视频教学培训里面会有详细的介绍。

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

藤椅
yotro 发表于 2009-5-28 20:56:00

请问下,如果我想在每次运行抽样的时候,抽出类1不同的数据~还是写这个程序么~~

菜鸟~误怪啊~~

板凳
nkwilling 发表于 2009-5-28 21:10:00
是的,对于类别少的,你暂时就这么做吧。对于类别有几百个,这样肯定就不行了。你先凑合着完成你的当务之急吧。

报纸
nkwilling 发表于 2009-5-28 21:17:00

合并数据集:

data merge;

set yourolddata(where=(flag=1))

outdata;

run;

merge就是你要往下分析的数据集,应该是100+400=500条记录。

我觉得你应该看看基础性的书了。

地板
yotro 发表于 2009-5-28 21:56:00
sas编程我还没开始学~~~弄完就去学~~~不好意思啊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 09:38