SAS中文论坛
标题:
一个关于如何modify问题
[打印本页]
作者:
shiyiming
时间:
2010-7-4 16:31
标题:
一个关于如何modify问题
dataset如下;
stk year month (monthly return)
1 1 1 0.1
1 1 2 0.2
1 1 4 0.6
1 1 12 0.5
1 2 3 0.7
1 2 11 -0.8
2 1 2 0.3
2 1 4 0.6
2 2 3 0.7
n只(n=2)股票两年的月收益率。注意有些股票某些月份是没有显示收益率数据的。现在就想把这些没有月份收益率的都显示为-88,形成一个整体的两年共24个月的数据。
想过按stk分组,把每只股票的数据集和一个含有year (year=1,2) month(month=1-12)的数据集进行merge。不知道这样该如何写sas程序?
作者:
shiyiming
时间:
2010-7-6 20:10
标题:
Re: 一个关于如何modify问题
data crackman;
input stk year month monthly_return @;
datalines;
1 1 1 0.1
1 1 2 0.2
1 1 4 0.6
1 1 12 0.5
1 2 3 0.7
1 2 11 -0.8
2 1 2 0.3
2 1 4 0.6
2 2 3 0.7
;
run;
data stand;
do stk=1 to 2;
do year=1 to 2;
do month=1 to 12;
output;
end;
end;
end;
run;
proc sort data=crackman;
by stk year month;
run;
proc sort data=stand;
by stk year month;
run;
data result;
merge crackman stand;
by stk year month;
if monthly_return=. then monthly_return=-88;
run;
作者:
shiyiming
时间:
2010-7-7 11:48
标题:
Re: 一个关于如何modify问题
thanks. 方法可行,只不过实际数据中stk有一千只,用do和sort时运行的很慢。看来还是用proc sql效率高些了。
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2