楼主: bridog
1537 4

sas circulation [推广有奖]

  • 0关注
  • 2粉丝

博士生

84%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
4.3500
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
4748 点
帖子
255
精华
0
在线时间
273 小时
注册时间
2008-11-29
最后登录
2024-3-24

楼主
bridog 发表于 2009-7-19 16:53:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
      
            
     num



  theta



scale



shape



n
713.2764746.7014573.334546136
713.2690658.1256143.228867131
813.2972218.833981.94523229
813.0822519.4364162.03743734
813.0365311.520782.13542437
1063.1389939.4895672.29798930
1063.15724712.184112.3983132

比如,我在excel 中有如上一个表单数据,每次输进去一行值,就会输出一个表,也就是说我这上面有7行数,应该产生7个表的数据(你可以用第二个程序试试)。第一个代码不能成功,能帮我解答吗?谢谢!
1、
dm 'log;clear;output;clear';
proc import datafile="c:\example.xls"
out=one;
data one;set one;
x=n;
run;
data one;
do k=1 to 7;
do m=1 to x;
  y=theta+scale*(-log(ranuni(123321)))**(1/shape);
  output;
  end;
  end;
run;

2、

data one;
theta=3.2765;
scale=6.7015;
shape=3.3345;
do n=1 to 136;
  y=theta+scale*(-log(ranuni(123321)))**(1/shape);
  output;
  end;
run;
二维码

扫码加我 拉你入群

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

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

关键词:circulation ulation ATION CIRC ATI SAS circulation

回帖推荐

sushe1527 发表于3楼  查看完整内容

data one; input num theta scale shape n@; cards; 71 3.276474 6.701457 3.334546 136 71 3.269065 8.125614 3.228867 131 81 3.297221 8.83398 1.945232 29 81 3.082251 9.436416 2.037437 34 81 3.03653 11.52078 2.135424 37 106 3.138993 9.489567 2.297989 30 106 3.157247 12.18411 2.39831 32 run; proc sort data=one;by n notsorted;run; data b;set one;by n notsorted; if first.n then n ...

本帖被以下文库推荐

沙发
bridog 发表于 2009-7-19 16:55:56
第二个程序是针对1行数,产生一个表

藤椅
sushe1527 发表于 2009-7-19 20:25:58
data one;
input num theta scale shape n@;
cards;
71 3.276474 6.701457 3.334546 136  
71 3.269065 8.125614 3.228867 131  
81 3.297221 8.83398 1.945232 29  
81 3.082251 9.436416 2.037437 34  
81 3.03653 11.52078 2.135424 37  
106 3.138993 9.489567 2.297989 30  
106 3.157247 12.18411 2.39831 32  
run;
proc sort data=one;by n notsorted;run;
data b;set one;by n notsorted;
if first.n then n1+1;
run;
proc sql noprint;
select max(n1) into :n from b;
quit;
%macro test;
%do i=1 %to &n;
data one&i;
set b;
if n1=&i;
do i=1 to n;
  y=theta+scale*(-log(ranuni(123321)))**(1/shape);
  output;
  end;
run;
%end;
%mend;
%test
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

板凳
hxin3 发表于 2009-7-19 20:41:16
真厉害!!!服了!

报纸
bridog 发表于 2009-7-19 21:31:13
谢谢朋友们,帮我解决了一个大难题。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 03:15