全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1220 3
2013-11-29
请教大侠,如何添加观测?

data data;
input dm bh cp1 cp2 cp3 @;
cards;
234 0 11 23 33
234 1 13 25 .
234 2 . 27 .
235 0 14 21 36
235 1 18 . 37
236 1 17 28 31
236 2 . 29 32
236 3 . . .
;
run;

上数据集中,代码(dm))的编号(bh)有012、01、123。 如何将编号都为01234。如下:

data data1;
input dm bh cp1 cp2 cp3 @;
cards;
234 0 11 23 33
234 1 13 25 .
234 2 . 27 .
234 3 . . .
234 4 . . .
235 0 14 21 36
235 1 18 . 37
235 2 . . .
235 3 . . .
235 4 . . .
236 0 . . .
236 1 17 28 31
236 2 . 29 32
236 3 . . .
236 4 . . .
;
run;

再请教如何转置成下列形式?

data data1;
input dm cp $ _0 _1 _2 _3 _4 @;
cards;
234 cp1 11 13 . . .
234 cp2 23 25 27 . .
234 cp3 33 . . . .
235 cp1 14 18 . . .
235 cp2 21 . . . .
235 cp3 36 37 . . .
236 cp1 . 17 . . .
236 cp2 . 28 29 . .
236 cp3 . 31 32 . .
;
run;

谢谢!!

二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-30 13:37:59
求助各位大侠帮助!!
二维码

扫码加我 拉你入群

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

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

2013-11-30 21:07:16
方法很多,这里有一种基本的数据步你试试:
data data;
input dm bh cp1 cp2 cp3 @;
cards;
234 0 11 23 33
234 1 13 25 .
234 2 . 27 .
235 0 14 21 36
235 1 18 . 37
236 1 17 28 31
236 2 . 29 32
236 3 . . .
;
run;
proc sort data=data out=a;
by dm bh;
run;

data b;
set a(keep=dm);
by dm ;
if first.dm;
do bh=0 to 3;
output;
end;
run;

proc sort;
by dm bh;

data all;
merge  b(in=b) a(in=a);
by dm bh;
if b;
run;

proc print;
run;

至于转置,你用data+数组+retain 或者用过程步都OK,自己想想吧
二维码

扫码加我 拉你入群

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

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

2013-11-30 22:15:51
谢谢指教!!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群