经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
sas 连乘的实现
楼主
wdxmahone
6289
14
收藏
2011-06-28
我有一个数据集a;a1 a2
1 0.2
2 0.3
3 0.5;
我想得到这样的结果;
a1 a2 a3
1 0.2 1
2 0.3 0.2 (=lag(a3)*lag(a2))
3 0.5 0.06; (=lag(a3)*lag(a2))
我对sas如何处理行之间的变化还很不清楚。谢谢大家!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
soporaeternus
2011-6-28 10:41:52
复制代码
没用lag,觉得lag好复杂.......
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
honghejing
2011-6-28 11:04:30
data b;
set a;
retain a3;
a3=lag(a1)*lag(a2);
if _n_=1 then a3=a1;
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
honghejing
2011-6-28 11:09:20
lag就是把上面一个observation的值赋给下一个observation。
举个简单的例子:
data a;
input a;
cards;
1
2
3
4
5
;
run;
data b;
set a;
a=lag(a);
run;
data c;
set a;
b=lag(a);
run;
2#
soporaeternus
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
yugao1986
2011-6-28 11:24:32
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
yugao1986
2011-6-28 11:26:45
顶下,相当简洁
2#
soporaeternus
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
wdxmahone
2011-6-28 12:25:53
soporaeternus 发表于 2011-6-28 10:41
复制代码
没用lag,觉得lag好复杂.......
相当简洁,不过我又遇到新问题了,
a1 a2
1 0.2
2 0.3
3 0.5
4 0.1;
我如何实现跳跃,比如第一行的(1+0.2)*第三行的(1+0.5);第二行的(1+0.3)*第四行的(1+0.1);总之奇数行相乘,偶数行的相乘。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
8楼
pobel
2011-6-28 12:42:36
data test;
input a1 a2;
cards;
1 0.2
2 0.3
3 0.5
4 0.1
;
data test1;
set test;
a3=sum(1,a2)*lag2(sum(1,a2));
if _n_<=2 then a3=sum(1,a2);
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
9楼
honghejing
2011-6-28 12:58:41
retain和lag联合使用的功能相对于单纯使用retain来说要强大的很多。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
10楼
nectar
2011-6-29 10:00:31
这里的讨论的code很实用呀。我经常会遇到使用个股月回报求年度累计回报的情形。受用啦。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
11楼
yongjiang2
2011-7-5 23:18:18
谢谢啊,,,,
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
12楼
zhaoping603
2011-7-6 11:07:42
这个代码并没有累计乘,我自己改没改明白,麻烦帮助
8#
pobel
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
13楼
cathy3212
2011-7-7 12:30:46
没懂问题。比如,是从第一行一直乘到最后一个奇数行,还是每两个相邻的奇数行相乘?
7#
wdxmahone
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
14楼
shenliang_111
2011-8-28 09:44:00
data b(drop=s);
retain a1 a2 a3 s;
set a;
if _n_=1 then do;a3=1;
s=a2;end;
else do;
a3=a3*s;
s=a2;
end;
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
15楼
leedx
2011-8-28 13:03:03
学习了,呵呵,很有启发性~~~
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
【求助如何定义一系列变量】如何对数据集里的变量定义
sas里和LAG相反的函数是什么阿?
求助:这种数据集如何先求和再求积?
请问如何生成一个变量是另一个变量的lag啊?
SAS数据集一问..
求助:运行LM lag命令,出错了
求一个数组的写法,如何把数组的值赋给变量
lag变量怎么定义gen??
SAS变量提前一期什么命令
英文版电子书 plague 仅供学习参考
栏目导航
SAS专版
商学院
金融类
休闲灌水
行业分析报告
金融学(理论版)
热门文章
海外资管机构赴上海投资指南(2025版)
世界机器人2025年报告 World Robotics 2025
甲子光年_2025甲子Cool Vendor人形机器人大 ...
understanding climate change perceptions ...
【全美经典】离散数学
全球能源转型展望2025—全球和区域预测至20 ...
AOM:The Boundaries of Trust in a New Era
气象学-山东大学
Gain or pain The double‐edged sword eff ...
全国数智产业发展研究报告(2024-2025)
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群