全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1699 7
2014-05-06
悬赏 50 个论坛币 已解决
初学者刚接触SAS,现在有一组数据,如下
data a1;
input i t y;
cards;
1 1 34
1 2 35
1 3 65
2 1 66
2 2 52
2 3 51
3 1 32
3 2 45
3 3 75
4 1 35
4 2 52
4 3 12
run;

想在原来的表的基础上生成另外一列$\bar{y_{t-1}}$,其中$\bar{y_{t-1}}=\sum_{i}^{4}y_{i,t-1}$
怎么用SAS实现呀?求助求助


最佳答案

二维码

扫码加我 拉你入群

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

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

全部回复
2014-5-6 23:17:47
复制代码

二维码

扫码加我 拉你入群

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

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

2014-5-7 14:14:02
jeozu 发表于 2014-5-7 11:58
非常非常感谢您的回答。
但请原谅我是个菜鸟,我在试运行的时候,第一块transpose代码出现如下错误:
ERROR: 数据集 WORK.A1 不是以“升序”顺序排序的。当前 BY 组中“t=3”,下一个 BY 组中“t=1”。

我的先把lagy做出来,然后按组计算均值。但是之后我就不知道怎么做了。

data a0;
set a1;
ylag=lag1(y);
run;

proc sort data=a0;
by t;
二维码

扫码加我 拉你入群

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

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

2014-5-7 15:42:07
黑暗的造访 发表于 2014-5-7 14:14
非常非常感谢您的回答。
但请原谅我是个菜鸟,我在试运行的时候,第一块transpose代码出现如下错误:
E ...
已修改。添加一个sort就行了。
二维码

扫码加我 拉你入群

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

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

2014-5-7 16:19:38
呵呵,有更好的代码
二维码

扫码加我 拉你入群

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

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

2014-5-7 16:36:18
learsaas 发表于 2014-5-7 16:19
呵呵,有更好的代码
能指导一下吗?
如果i和t都非常大的话,比如i=100,t=100,代码应该如何写呢?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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