楼主: 眼睛花
6688 11

[问答] 求助高手!!!!SAS生成随机数列 [推广有奖]

  • 6关注
  • 0粉丝

大专生

36%

还不是VIP/贵宾

-

威望
0
论坛币
1292 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
667 点
帖子
49
精华
0
在线时间
28 小时
注册时间
2010-12-20
最后登录
2016-5-3

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助于各位高手,如例:(1、2、3、4、5、6、7、8、9、10)已经排好顺序,怎么使用SAS将数列随机打乱,且不管怎么Run都与不同之前的顺序的数字。
如:
x1    x2
1    5
2    6
3    7
4    8
5    9
6    10
7    4
8    3
9    2
10  1

麻烦高手指教
二维码

扫码加我 拉你入群

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

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

关键词:生成随机数 求助高手 随机数 Run 求助 高手 SAS 随机

沙发
abc7759abc 发表于 2010-12-20 20:52:27 |只看作者 |坛友微信交流群
看不太懂,。。
历史是个什么玩意儿~

使用道具

藤椅
眼睛花 发表于 2010-12-20 21:04:52 |只看作者 |坛友微信交流群
我来说一下,问题求的是将1-10的数列随机打乱,生成的结果与同行OBS的数值不同就行了,这样描述会清楚些么?
中文不过关-_-#

使用道具

板凳
眼睛花 发表于 2010-12-20 21:57:12 |只看作者 |坛友微信交流群
天啊,没高手知道吗?折衷的办法也行,只要能求出不与x1的观测值相等就行了。
大鱼大虾们,帮个忙。

使用道具

报纸
elek.me 发表于 2010-12-20 22:25:51 |只看作者 |坛友微信交流群
  1. data have;
  2.         do x=1 to 10;
  3.                 output;
  4.         end;
  5. run;
  6. data tmp;
  7.         set have(rename=(x=y));
  8.         random=ranuni(0);
  9. run;
  10. proc sort data=tmp;
  11.         by random;
  12. run;
  13. data want;
  14.         merge have tmp(drop=random);
  15. run;
复制代码


这样可以不。 比较间接。
我的博客: http://elek.me/sas
联系我: http://about.me/elek

使用道具

地板
眼睛花 发表于 2010-12-20 22:36:24 |只看作者 |坛友微信交流群
是个好的方法。不过X1与X2之间还是有几率相等。

使用道具

7
novice505 发表于 2010-12-21 10:58:09 |只看作者 |坛友微信交流群
可以用plan过程试试。。
proc plan seed=0;
        factors row=10 ordered col=10 ordered;
        treatments treatment=10 cyclic;
        output out=out1
                        row nvals=(1 to 10 by 1) ordered
                        col nvals=(1 to 10 by 1)  ordered
                        treatment nvals=(1 to 10 by 1) random;
run;
quit;

proc sort data=out1;
        by row col;
run;

proc transpose data=out1 out=out2(drop=row _name_) prefix=x;
        by row ;
        var treatment;
proc sort data=out2 out=out3;
        by x1;
proc print;run;

使用道具

8
眼睛花 发表于 2010-12-21 20:00:42 |只看作者 |坛友微信交流群
7# novice505
1    proc plan seed=0;
ERROR: 过程 PLAN 没有找到。
2            factors row=10 ordered col=10 ordered;
3            treatments treatment=10 cyclic;
4            output out=out1
5                            row nvals=(1 to 10 by 1) ordered
6                            col nvals=(1 to 10 by 1)  ordered
7                            treatment nvals=(1 to 10 by 1) random;
8    run;
NOTE: SAS 系统由于错误而停止了该步的处理。
NOTE: “PROCEDURE PLAN”所用时间(总处理时间):
      实际时间         0.01 秒
      CPU 时间         0.01 秒
9    quit;
10

11   proc sort data=out1;
ERROR: 文件 WORK.OUT1.DATA 不存在。
12           by row col;
13   run;
NOTE: SAS 系统由于错误而停止了该步的处理。
NOTE: “PROCEDURE SORT”所用时间(总处理时间):
      实际时间         0.05 秒
      CPU 时间         0.01 秒
14

15   proc transpose data=out1 out=out2(drop=row _name_) prefix=x;
ERROR: 文件 WORK.OUT1.DATA 不存在。
16           by row ;
17           var treatment;
NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.OUT2 可能不完整。该步停止时,共有 0 个观测和 0 个变量。
NOTE: “PROCEDURE TRANSPOSE”所用时间(总处理时间):
      实际时间         0.02 秒
      CPU 时间         0.01 秒

18   proc sort data=out2 out=out3;
19           by x1;
ERROR: 变量 X1 没有找到。
NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.OUT3 可能不完整。该步停止时,共有 0 个观测和 0 个变量。
NOTE: “PROCEDURE SORT”所用时间(总处理时间):
      实际时间         0.01 秒
      CPU 时间         0.01 秒

20   proc print;run;

使用道具

9
眼睛花 发表于 2010-12-21 20:05:16 |只看作者 |坛友微信交流群
7# novice505
高手能不能把完整的案例程序编辑出来呀?或者稍微解释下步骤呀?

使用道具

10
novice505 发表于 2010-12-21 20:14:32 |只看作者 |坛友微信交流群
不应该啊,这个plan过程是stat模块里的,难道你连这个模块也没有?
这个是借助拉丁方试验设计的方法,各行各列的数字都不会重复。语句的详细说明请参考帮助文档。。
由于种子数设置为0,某次运行结果如下:
                                                        SAS 系统              2010年12月21日 星期二 下午02时49分22秒 509

                           Obs    x1    x2    x3    x4    x5    x6    x7    x8    x9    x10

                             1     1     8     9     7    10     2     6     3     5      4
                             2     2     6     3     5     4     1     8     9     7     10
                             3     3     5     4     1     8     9     7    10     2      6
                             4     4     1     8     9     7    10     2     6     3      5
                             5     5     4     1     8     9     7    10     2     6      3
                             6     6     3     5     4     1     8     9     7    10      2
                             7     7    10     2     6     3     5     4     1     8      9
                             8     8     9     7    10     2     6     3     5     4      1
                             9     9     7    10     2     6     3     5     4     1      8
                            10    10     2     6     3     5     4     1     8     9      7

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 18:23