s***i 发帖数: 10 | 1 求助 想在每个月数据组中都要有group A,B,C,D。如若没有,insert 缺少的group
比如以下HAVE data,缺少201011 A,2012 D
请教SAS怎么可以insert啊 多谢了!
HAVE
Month Group Value
201010 A 1
201010 B 2
201010 C 3
201010 D 3
201011 B 1
201011 C 1
201011 D 1
201012 A 1
201012 B 1
201012 C 1
…
WANT
Month Group Value
201010 A 1
201010 B 2
201010 C 3
201010 D 3
201011 A .
201011 B 1
201011 C 1
201011 D 1
201012 A 1
201012 B 1
201012 C 1
201012 D .
… |
s*******e 发帖数: 1385 | 2 最简单的方法,也是最笨的方法,就是做一个数据,每个月都没有A,B,C,D四行,然
后和原来的数据merge
group
【在 s***i 的大作中提到】 : 求助 想在每个月数据组中都要有group A,B,C,D。如若没有,insert 缺少的group : 比如以下HAVE data,缺少201011 A,2012 D : 请教SAS怎么可以insert啊 多谢了! : HAVE : Month Group Value : 201010 A 1 : 201010 B 2 : 201010 C 3 : 201010 D 3 : 201011 B 1
|
s***i 发帖数: 10 | 3 多谢 现在在用这种笨方法。。
【在 s*******e 的大作中提到】 : 最简单的方法,也是最笨的方法,就是做一个数据,每个月都没有A,B,C,D四行,然 : 后和原来的数据merge : : group
|
m******r 发帖数: 1033 | 4 解决的方法很多,不过建议初学者好好看文档。
proc means 给出了很多solution |
l**********9 发帖数: 44 | |
s***i 发帖数: 10 | 6 谢谢我研究看看
★ 发自iPhone App: ChineseWeb 13
【在 m******r 的大作中提到】 : 解决的方法很多,不过建议初学者好好看文档。 : proc means 给出了很多solution
|
s***i 发帖数: 10 | 7 谢谢我查查看怎么用
★ 发自iPhone App: ChineseWeb 13
【在 l**********9 的大作中提到】 : proc expand
|
s***i 发帖数: 10 | 8 求助 想在每个月数据组中都要有group A,B,C,D。如若没有,insert 缺少的group
比如以下HAVE data,缺少201011 A,2012 D
请教SAS怎么可以insert啊 多谢了!
HAVE
Month Group Value
201010 A 1
201010 B 2
201010 C 3
201010 D 3
201011 B 1
201011 C 1
201011 D 1
201012 A 1
201012 B 1
201012 C 1
…
WANT
Month Group Value
201010 A 1
201010 B 2
201010 C 3
201010 D 3
201011 A .
201011 B 1
201011 C 1
201011 D 1
201012 A 1
201012 B 1
201012 C 1
201012 D .
… |
s*******e 发帖数: 1385 | 9 最简单的方法,也是最笨的方法,就是做一个数据,每个月都没有A,B,C,D四行,然
后和原来的数据merge
group
【在 s***i 的大作中提到】 : 求助 想在每个月数据组中都要有group A,B,C,D。如若没有,insert 缺少的group : 比如以下HAVE data,缺少201011 A,2012 D : 请教SAS怎么可以insert啊 多谢了! : HAVE : Month Group Value : 201010 A 1 : 201010 B 2 : 201010 C 3 : 201010 D 3 : 201011 B 1
|
s***i 发帖数: 10 | 10 多谢 现在在用这种笨方法。。
【在 s*******e 的大作中提到】 : 最简单的方法,也是最笨的方法,就是做一个数据,每个月都没有A,B,C,D四行,然 : 后和原来的数据merge : : group
|
|
|
m******r 发帖数: 1033 | 11 解决的方法很多,不过建议初学者好好看文档。
proc means 给出了很多solution |
l**********9 发帖数: 44 | |
s***i 发帖数: 10 | 13 谢谢我研究看看
★ 发自iPhone App: ChineseWeb 13
【在 m******r 的大作中提到】 : 解决的方法很多,不过建议初学者好好看文档。 : proc means 给出了很多solution
|
s***i 发帖数: 10 | 14 谢谢我查查看怎么用
★ 发自iPhone App: ChineseWeb 13
【在 l**********9 的大作中提到】 : proc expand
|
m***c 发帖数: 118 | 15 先建一个data m, 含有所有的month和group(这个不难,用3个do-loop/对year,month和
group);然后把year和month合并成新的month.
然后m和HAVE进行merge, by month group.
这样即使某一年都missing,也能补齐。
大概的code:
data m(drop=year mon);
do year=2010 to 2020 by 1;
do mon=1 to 12 by 1;
do group='A' 'B' 'C' 'D';
output;
end;output;end;output;end;
month=cats(year,mon);
run;
proc sort data=m; by month group;run;
proc sort data=have;by month group; run;
data want; merge m have; by month group; run;
家里没有装SAS,不能保证对,如果有error,你自己调调,或者上来问。 |