全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1706 5
2009-07-12
现在遇到以下情况 其中total 是数据库的总数据个数(我是通过merge 把总数表和频率表合在一起的)
问题就出来了 只有第一行是233 其他行都没有值 我想得到一个新变量a=cum/total(也就是233)我该用sas怎样做呢   ?
exposure canceltype total cum
0.0 C   3.0 233.0 3.0
1.0 C   7.0  10.0
2.0 C   1.0  11.0
3.0 C   1.0  12.0
1.0 E   1.0  1.0
2.0 E   2.0  3.0
3.0 E   1.0  4.0
4.0 E   4.0  8.0
5.0 E   2.0  10.0
6.0 E   5.0  15.0
不知道说明白了没 十分感谢
二维码

扫码加我 拉你入群

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

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

全部回复
2009-7-12 19:24:30
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

2009-7-12 20:39:43
有必要这样做吗?直接定义变量total=233,然后用每个cum除以total不行吗?
二维码

扫码加我 拉你入群

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

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

2009-7-12 20:43:19
数据库很大 而且每次total 的值不一样 我上面只是举个例子  
谢谢
二维码

扫码加我 拉你入群

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

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

2009-7-14 03:18:55
问题: 只有第一行是233 其他行都没有值 我想得到一个新变量a=cum/total(也就是233)我该用sas怎样做呢?
回答:if _N_=1 then a=cum/total;   /* 只给第一行的a赋值 */
二维码

扫码加我 拉你入群

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

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

2009-7-14 03:57:04
我建议用 proc sql
select
case when total<>0 then cum/total
else 0 end as a;
from

如果你向要和这两个表在一起可以join
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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