楼主: yunxiangcao
2083 4

[原创博文] 如果实现连乘 [推广有奖]

  • 0关注
  • 1粉丝

已卖:311份资源

硕士生

35%

还不是VIP/贵宾

-

威望
0
论坛币
875 个
通用积分
3.4018
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2245 点
帖子
88
精华
0
在线时间
163 小时
注册时间
2005-10-29
最后登录
2025-4-11

楼主
yunxiangcao 发表于 2011-11-15 13:04:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大虾,
我的数据集有如下字段
ratio   id
1        1
1        1
1        1
1.2     1
1        1
1        2
1        2
1        2
1.5     2
1        2
1.2        2

我现在希望算出这样的结果,同一个id中的各行ratio值连乘,结果放在cratio里,即
ratio id   cratio
1      1      1
1      1      1
1      1      1
1.2   1      1.2
1      1       1.2
1      2       1
1      2        1
1      2       1
1.5   2        1.5
1      2        1.5
1.2    2        1.8
请问用SAS如何实现以上功能?谢谢哈
二维码

扫码加我 拉你入群

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

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

关键词:ratio 如何实现 TIO ATI CRA 如何

沙发
xwj8688 发表于 2011-11-15 13:08:13
看看

藤椅
yunxiangcao 发表于 2011-11-15 14:13:02
没人能解答吗?急啊

板凳
yugao1986 发表于 2011-11-15 14:46:59
data a;
input ratio   id;
cards;
1        1
1        1
1        1
1.2     1
1        1
1        2
1        2
1        2
1.5     2
1        2
1.2        2
;
run;
data b;
        retain ratio id cratio 1;
        set a;
                by id;
                if first.id then cratio=ratio;
        else cratio=ratio*cratio;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ihust + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

三人行必有我师

报纸
yunxiangcao 发表于 2011-11-15 15:23:11
呵呵,谢谢哈。我还以为没人回答,后来自己想了办法
data a1;  retain cratio 1; set a0;
  if id^=lag(id) then cratio=1;
  cratio=cratio*ratio;
  keep id dateid ratio cratio;
run;

大虾yugao1986请看看对不对

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 21:21