楼主: yklt
10797 5

用SAS在规定数据内产生随机数 [推广有奖]

  • 1关注
  • 0粉丝

等待验证会员

已卖:80份资源

本科生

13%

还不是VIP/贵宾

-

威望
0
论坛币
522 个
通用积分
0.1200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
243 点
帖子
15
精华
0
在线时间
133 小时
注册时间
2012-12-4
最后登录
2021-5-7

楼主
yklt 学生认证  发表于 2017-3-18 23:09:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data a1;
do i=1 to 20;
  x=compress('BO'||int(ranuni(123)*100)+1);
  output;
end;
run;
我随便生成一个数据集a1。
我想用a1数据集中的x变量作为源数据,生成新的变量y,y的取值是在x的范围内产生100个随机数,
请问该如何做呢?目前想到的办法是产生一个新的数据集然后通过生成随机序号merge数据集a1中的
序号得到x的随机数,如何不通过另外生成数据集完成呢?谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:随机数 compress output ranuni outpu SAS SAS数据分析方法 SAS统计分析 SAS编程技术教程

沙发
yafeijojy 发表于 2017-3-19 16:54:36
先生成一百个随机数,假如最大的为b,最小的为a,那么((x-a)/(b-a))*100就可以控制在100以内了
已有 1 人评分经验 收起 理由
李会超 + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

藤椅
aaronor 发表于 2017-3-21 08:46:05
proc surveyselect data=a1 out=a2 method=urs n=100 outhits ;

已有 1 人评分经验 收起 理由
李会超 + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

板凳
yklt 学生认证  发表于 2017-4-12 11:21:01 来自手机
aaronor 发表于 2017-3-21 08:46
proc surveyselect data=a1 out=a2 method=urs n=100 outhits ;
谢谢!

报纸
yklt 学生认证  发表于 2017-4-12 11:25:53 来自手机
yafeijojy 发表于 2017-3-19 16:54
先生成一百个随机数,假如最大的为b,最小的为a,那么((x-a)/(b-a))*100就可以控制在100以内了
谢谢,好像不太对

地板
dongying_19911 发表于 2021-4-1 09:32:02
aaronor 发表于 2017-3-21 08:46
proc surveyselect data=a1 out=a2 method=urs n=100 outhits ;
但是这个程序可能会出现重复的结果,如何解决呀?

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

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