SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 853|回复: 5
打印 上一主题 下一主题

再求求问大神用sas抽样进行抽奖的问题。

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-4-10 09:43:08 | 只看该作者

再求求问大神用sas抽样进行抽奖的问题。

我有一个数据集  2个变量.其中name是人名, times是抽奖机会。
times=N,则name有N次抽奖机会。
数据集一共有10万多行,其中抽奖机会最多的是个人有200多次。
我要做的是:
一等奖抽出3人,二等奖10人  三等奖100人。要求不重复。
我用的是proc surveyslect,但总是有重复的现象。不仅是有人同时中一二三等奖
还有时候在同一奖项中中多次。
这个问题怎么解决呢?
name      times
A               1
B               3
B               3
B               3
C              5
C              5
.......
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-4-11 00:32:42 | 只看该作者

Re: 再求求问大神用sas抽样进行抽奖的问题。

[code:2pp0x25s]DATA A;
        DO I = 1 TO 1E5;
                Name = PUT(ROUND(RANUNI(1)*1E5, 1E1), Z6.);
                Times = CEIL(RANUNI(1)*10);
                OUTPUT;
        END;
RUN;

%MACRO JPmcr;
        PROC SQL;
                CREATE TABLE AA AS SELECT DISTINCT Name, SUM(Times) AS totTimes FROM A GROUP BY Name;
        QUIT;
        %DO ORDER = 1 %TO 3;
                %LET N1 = 3; %LET N2= 10; %LET N3 = 100;
                PROC SURVEYSELECT DATA =AA OUT = B&ORDER.(KEEP = Name totTimes) METHOD = PPS N = &&N&ORDER. SEED = &ORDER.;
                        SIZE totTimes;
                RUN;
                PROC SQL;
                        CREATE TABLE AA AS SELECT AA.*  FROM AA WHERE AA.Name NOT IN (SELECT B.Name FROM B&ORDER. AS B);
                QUIT;
        %END;
%MEND JPmcr;

%JPmcr
;[/code:2pp0x25s]
分选三次。次数多的机会更大。但我想有可能只选一次即可(?)。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-4-11 14:08:57 | 只看该作者

Re: 再求求问大神用sas抽样进行抽奖的问题。

正在学习中;

分选三次,是为了中了一等奖,就不能重二三等奖了。

我学习学习,哎 有2年没有SAS了,很多都忘了。

谢谢你了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-4-12 17:17:26 | 只看该作者

Re: 再求求问大神用sas抽样进行抽奖的问题。

你的name里都有很多重复的,抽出重复的不是很正常?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-4-20 09:55:50 | 只看该作者

Re: 再求求问大神用sas抽样进行抽奖的问题。



就是为了不重复抽出的。


一个人不能获得2次以上的奖啊。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2010-4-20 10:20:53 | 只看该作者

Re: 再求求问大神用sas抽样进行抽奖的问题。

可以用不放还的抽样。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-3-3 14:07 , Processed in 0.123003 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表