楼主: xiaosanmao
1881 2

[原创博文] 请教,这些数据集怎么生成呢? [推广有奖]

  • 0关注
  • 0粉丝

博士生

39%

还不是VIP/贵宾

-

威望
0
论坛币
187 个
通用积分
0.0001
学术水平
1 点
热心指数
4 点
信用等级
0 点
经验
4639 点
帖子
247
精华
0
在线时间
279 小时
注册时间
2009-9-3
最后登录
2012-1-19

楼主
xiaosanmao 发表于 2010-4-21 19:21:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data x;  /*数据集x的行数决定生成数据集的个数,生成数据集的名字用id表述*/
input c1$ c2$  id$;
cards;
q1 q2   dd
q3 q5   ww
q2 q6   ff
;run;

data y; /*数据集y行数决定了每个生成数据集中的观测个数*/
input  q1 q2 q3 q4 q5 q6;
cards;
2 3 4 5 8 9
1 2 3 4 5 6
;run;

具体算法为:数据集y每一行都按照这个式子算。
r=c1*3+c2*2;

/*例如本例需生成dd,ww,ff三个数据集,拿dd数据集来说,它里面是两个观测,具体是:*/

data dd;
r1=c1*3+c2*2=q1*3+q2*2=2*3+3*2=12;
r2=c1*3+c2*2=q1*3+q2*2=1*3+2*2=7;
;run;
ww,ff的情况类似

这里,x和y数据集已知,实际问题要复杂很多,大概是用宏代换吧?
那么如何生成dd,ww,ff三个数据集呢?
路过的大侠留意,多谢了
二维码

扫码加我 拉你入群

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

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

关键词:数据集 Input cards Data card

回帖推荐

crackman 发表于2楼  查看完整内容

data x; input c1$ c2$ id$@; cards; q1 q2 dd q3 q5 ww q2 q6 ff ; run; data y; input q1 q2 q3 q4 q5 q6@; cards; 2 3 4 5 8 9 1 2 3 4 5 6 ; run; proc sql noprint ; select id into:id separated by "*" from x ; select count(*) as count into:count from x; quit; %a; %macro a; %do i=1 %to &count.; %let idname=%scan(&id,&i.,*); %b(&idname.); %end; %mend a; %macro b(idname); ...

本帖被以下文库推荐

沙发
crackman 发表于 2010-4-21 21:00:12
data x;
input c1$ c2$  id$@;
cards;
q1 q2   dd
q3 q5   ww
q2 q6   ff
;
run;
data y;
input  q1 q2 q3 q4 q5 q6@;
cards;
2 3 4 5 8 9
1 2 3 4 5 6
;
run;
proc sql noprint ;
select id into:id separated by "*" from x ;
select count(*) as count into:count from x;
quit;
%a;
%macro a;
%do i=1 %to &count.;
%let idname=%scan(&id,&i.,*);
%b(&idname.);
%end;
%mend a;
%macro b(idname);
data  &&idname.;
set x;
where id="&idname.";
run;
proc sql noprint;
select c1,c2 into:c1 ,:c2 from &&idname.;
create table n&&idname. as select &c1.,&c2. from y;
quit;
data &&idname;
set n&&idname.;
r=3*&c1.+2*&c2.;
run;
%mend b;
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
bakoll + 3 + 3 精彩帖子
jingju11 + 1 + 1 + 1 so good
xiaosanmao + 1 + 1 + 1 很不错~
anzhiliang + 1 + 1 + 1 精彩帖子

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

藤椅
xiaosanmao 发表于 2010-4-21 21:08:32
思路不错,稍有点错,不过完全能够解决我的问题了,掌声和鲜花献给crackman同学~~

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

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