全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3067 15
2010-03-11
数据大概是长这种样子的,有很多个公司,然后每个公司有一定长度的时间序列
时间  公司名称  其他变量
1991 公司A
1992 公司A
1993 公司A
1994 公司A
1991 公司B
1992 公司B
1993 公司B
1994 公司B
1991 公司C
1992 公司C
1993 公司C
1994 公司C

如果要对每个公司的时间序列上的变量进行处理,计算新的变量,比如说一阶差分,lag,怎么样才能按照公司来呢

Data a;
set b;
var1=dif(c)-dif(d) Var2=lag(c);
run;

如果这样运行的话 会把公司的数据混起来,怎么才能按照公司来呢?
二维码

扫码加我 拉你入群

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

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

全部回复
2010-3-11 15:31:01
复制代码
和那个贴子问题一样,试试吧
i是差分阶数......
二维码

扫码加我 拉你入群

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

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

2010-3-11 15:52:55
谢谢LS大牛!!!!!
二维码

扫码加我 拉你入群

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

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

2010-3-12 04:16:53
我弄了下,但是有100多个公司,有没简单的做法呢?
二维码

扫码加我 拉你入群

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

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

2010-3-12 12:11:40
1# 百草园Tracy

要么sort好数据后用lag, dif等,然后手工把混起来的数据设为missing(每个公司的第一个,用by 和first.xxx)。

要么直接用ETS中的proc expand
二维码

扫码加我 拉你入群

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

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

2010-3-12 12:19:58
data a ;
     set b;
if conm=lag(conm) then A2=oancf-lag(oancf);
run;

我用了这样的程序,能基本解决问题。每个公司第一年的刚好是缺失的

但是有个问题,第一个公司有两年的缺失数据,我不知道自己错在哪里了。。。。

大家有高见不?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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