作者jackychou (叹这世间无奈好多)
看板Statistics
标题[程式] sas资料处理
时间Fri Jan 13 19:51:39 2012
------------------------------------------------------------------------[软体程式类别]:
[程式问题]:
SAS处理panel data
[软体熟悉度]:
中(3个月到1年)
[问题叙述]:
各位前辈好
我有一份panel data的资料要处理成balanced panel
把unbalanced的部份拿掉
例如
company year
A 1
A 2
A 3
A 4
A 5
B 1
B 2
B 4
B 5
C 1
C 2
C 3
C 4
像B跟C要拿掉
我的问题应该蛮容易的
只是不太知道有哪些指令可以运用
[程式范例]:
我原本的想法是这样写
proc sort data=xxx; by company year; run;
if company^= lag(company) and year=1; then do;
new_variable=1; end;
else if company ^= lag(company) and year ^= 1 then delete;
else if company = lag(company) and year ^= lag(year)+1 then delete;
else if company = lag(company) and year = lag(year)+1 ;then do;
new_variable = lag(new_variable)+1; end;
把unbalanced的部份拿掉
结果跟想像的完全不一样@@
恳请各位前辈们指点 m(_ _)m
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.181
1F:→ jackychou:另外请教一下想知道资料中每个company有几笔资料 01/13 19:56
2F:→ jackychou:该用什麽指令?(这个应该就解决我的问题了@@) 01/13 19:56
3F:推 imaltar:你说的balanced是指year一定要1~5年吗 01/13 20:06
4F:→ jackychou:是的是的 只要缺其中一年就整个company拿掉 我是9.1版 01/13 20:30
5F:→ jackychou:刚刚估狗到9.2有PROC PANEL这个指令可惜9.1没有@ @ 01/13 20:31