楼主: yscapital
1656 2

[问答] 如何调用已经计算的统计量生成新的随机数 [推广有奖]

  • 0关注
  • 0粉丝

大专生

25%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
9237 点
帖子
25
精华
0
在线时间
57 小时
注册时间
2012-10-25
最后登录
2021-8-18

楼主
yscapital 发表于 2017-6-24 13:45:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大侠们,问好,非常感谢这里的大侠提供的精彩回复。我现在又碰到这么个问题,想请大侠们指点迷津:

我有一个数据集TS,使用proc means 计算这个数据集的均值和方差。接下来,我想新生成一1000个正态分布随机数的数据集RS,其中均值等于TS的均值,方差等于TS的方差,想知道该如何编写SAS代码?
data work.ts;
input height @@;
cards;
121 122 108.5 98.8 143.2 132.1 153.3 165.5 167.1 155.4
;
run;
proc means data = work.ts;
var height;
run;
data work.rs;
do i = 1 to 1000;
        rn = mean of height + stv of height * rndnor(3.14);
        output;
end;
run


上面的代码,红色那行不知道该如何表达,请大侠们指点迷津。

二维码

扫码加我 拉你入群

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

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

关键词:随机数 统计量 output Eight means SAS 统计 调用统计量

一起进步。

沙发
learsaas 发表于 2017-6-26 13:13:20
给你写了两个示例:
  1. /*方法一:宏*/
  2. proc sql noprint;
  3.         select mean(height),std(height) into :nMean,:nStd
  4.         from work.ts;
  5. quit;
  6. data work.rs;
  7. do i = 1 to 1000;
  8.          rn = &nMean. + &nstd. * ranuni(0);
  9.          output;
  10. end;
  11. run;

  12. /*方法二:非宏*/
  13. proc means data=work.ts nway noprint;
  14.         var height;
  15.         output out=work.rs(drop=_freq_ _type_) mean=nMean std=nStd;
  16. run;
  17. data work.rs(drop=nMean nStd);
  18.         set work.rs;
  19.         do i = 1 to 1000;
  20.                 rn =nMean+ nStd * ranuni(0);
  21.                 output;
  22.         end;
  23. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
孤单的我们 + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
yscapital 发表于 2017-6-27 09:00:58
learsaas 发表于 2017-6-26 13:13
给你写了两个示例:
哇,大神,你太棒了,太感谢你的回答了,我没想过SAS还可以这样用。
再次感谢。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-31 01:20