Loops 在SAS中创建具有随机值的数据集
我想创建一个随机数据集。像这样的-Loops 在SAS中创建具有随机值的数据集,loops,random,sas,dataset,Loops,Random,Sas,Dataset,我想创建一个随机数据集。像这样的- ptno visits sex race 1 1 1 0 1 2 1 0 1 3 1 0 2 1 2 1 2 2 2 1 2 3 2 1 3 1 1 0 3 2 1 0 3 3 1 0 这些值应该随机生成。我想知道我是否可以使用do循环动态地执行此操作。提前感
ptno visits sex race
1 1 1 0
1 2 1 0
1 3 1 0
2 1 2 1
2 2 2 1
2 3 2 1
3 1 1 0
3 2 1 0
3 3 1 0
这些值应该随机生成。我想知道我是否可以使用do循环动态地执行此操作。提前感谢您的帮助。SAS call ranuni()从均匀分布生成随机变量,如果值大于0.5,则为1,否则为0。在这里,相同的ptno(i)+种子获得相同的性别或种族
data want ;
length ptno visits sex race 8. ;
do ptno = 1 to 100 ;
_visits = ceil(ranuni(0)*5) ; /* between 1 & 5 */
sex = ceil(ranuni(0)*2) ; /* between 1 & 2 */
race = floor(ranuni(0)*2) ; /* between 0 & 1 */
do visits = 1 to _visits ;
output ;
end ;
end ;
drop _visits ;
run ;
data want;
do i=100 to 110;
do j=1 to 5;
seed1=i+4567;
call ranuni(seed1,x);
seed2=i+1234;
call ranuni(seed2,y);
ptno=i;
visit=j;
sex=(x>0.5)+1;
race=(y<0.5);
output;
end;
end;
keep ptno--race;
run;
需要数据;
i=100至110;
do j=1到5;
种子1=i+4567;
打电话给拉努尼(种子1,x);
种子2=i+1234;
打电话给拉努尼(西德2,y);
ptno=i;
访问=j;
性别=(x>0.5)+1;
比赛=(事实上,这并不是我想要的。例如,我有101-110的ptno。对于每个ptno,应该有5次访问,并且应该相应地创建性别和种族。这意味着应该有50次观察。@Noob_编码员请在你的原始帖子中提供这些信息,而不是在评论中。这个答案与你发布的问题相匹配。@Noob_编码器,调整上述参数以满足您的需求是很简单的。