楼主: lixqji
6387 24

[原创博文] 在线等:如何补齐日期缺省值? [推广有奖]

11
lixqji 发表于 2012-2-21 20:17:20
weberxu 发表于 2012-2-21 20:07
上边提的解决方案是小的观测可以实现的,向作者问的大的观测,你可以先用do循环,产生一个数据集,然后在和 ...
还是菜鸟,正在认真体会。不过用do循环产生一个数据集合就比较困难,因为代码并不是连续的,有些代码还较大,如题中的333333。【2】“in控制输出”不太明白,能否明示?突然想到可能可以用in和循环产生数据集合。

12
weberxu 发表于 2012-2-21 20:24:14
lixqji 发表于 2012-2-21 20:17
还是菜鸟,正在认真体会。不过用do循环产生一个数据集合就比较困难,因为代码并不是连续的,有些代码还较 ...
in主要控制pdv里边数据的输出,主要用于merge步,像你说的用in和do,我没见过他们的结合。你的数据集是不是自己编的?

13
lixqji 发表于 2012-2-21 20:28:36
weberxu 发表于 2012-2-21 20:24
in主要控制pdv里边数据的输出,主要用于merge步,像你说的用in和do,我没见过他们的结合。你的数据集是不 ...
嗯,数据集是自己编的,但是和现实一样,因为股票的代码也是000001、600998等,能否编个程序解这题?这样子就很清晰了

14
weberxu 发表于 2012-2-21 20:34:28
lixqji 发表于 2012-2-21 20:28
嗯,数据集是自己编的,但是和现实一样,因为股票的代码也是000001、600998等,能否编个程序解这题?这样 ...
第一个问题:你的股票代码是不是分类的,例如000001这支股票有很多观测,你想要填的值是什么?就是日期值后边给加个0吗?
第二个问题:你的数据大概有多少条观测?
第三个问题:你想要解决什么实际问题?
第四个问题:你想要输出什么数据集?

15
lixqji 发表于 2012-2-21 20:41:50
weberxu 发表于 2012-2-21 20:34
第一个问题:你的股票代码是不是分类的,例如000001这支股票有很多观测,你想要填的值是什么?就是日期值 ...
【1】每支股票大概有200条观测。所要做的是补充完整与所缺日期相关的观测,默认值(如股票收益率)给为0.
【2】数据大概有6万条观测
【3】解决的问题是验证,这只是其中一步。
【4】能够输出题中的数据集即可。
问题基本如题目中所示,能考虑到大数据量,并解决题中问题,应该就可以解决我的实际问题了。
呵呵

16
weberxu 发表于 2012-2-21 21:06:19
lixqji 发表于 2012-2-21 20:41
【1】每支股票大概有200条观测。所要做的是补充完整与所缺日期相关的观测,默认值(如股票收益率)给为0. ...
你要想往里边加值就很简单了。假设这个变量的名字是shouyi.
data a;
set b;
if shouyi='.' then shouyi=0;
run;

这样就可以把缺失值补上。不知道是不是符合你的需求。

17
lixqji 发表于 2012-2-21 21:13:33
weberxu 发表于 2012-2-21 21:06
你要想往里边加值就很简单了。假设这个变量的名字是shouyi.
data a;
set b;
如题目中的,缺一些日期观测,也需要补充,这个是难点

18
weberxu 发表于 2012-2-21 21:27:09
lixqji 发表于 2012-2-21 21:13
如题目中的,缺一些日期观测,也需要补充,这个是难点
用retain,它能将上一个观测的变量值,保存下来,输出。你如果想要像你的题目上写的,按月份顺序补充的,你就把12个月份定义为变量,通过变量赋值实现。如果想保存上条记录的日期值,直接用retain就好了。

19
weberxu 发表于 2012-2-21 21:31:30
这有一个retain的例子,你看一下,就是这么实现的。
data gengxin;
set nxt;
by oper_code product_id;
retain opershu;
if first.oper_code then do;
opershu=0;
end;
opershu+1;
if last.oper_code;
run;

20
lixqji 发表于 2012-2-21 21:37:25
weberxu 发表于 2012-2-21 21:31
这有一个retain的例子,你看一下,就是这么实现的。
data gengxin;
set nxt;
嗯,这个我也看到过。只是不知道怎么补充完整日期

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

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