全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
13298 7
2008-12-11
<p> </p><p> SAS里如何做分组求和?小弟需要按代码,将每组代码中的a值求和,(如下图)</p><p> 求教达人,分组求和的问题 </p><p>曾试图先将a值进行加总得到b,然后将“代码”分组,保留每组的最后一个值(如下图),用后一个值减去前一个值就行了。但是没想到,这种列上的减法也不知道该如何实现。</p><p>  求教达人,分组求和的问题 <br/></p><p>故特向达人们求救,小弟不胜感激!!!<br/></p>

[此贴子已经被作者于2008-12-11 16:42:03编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2008-12-11 16:58:00
<p>有个简单的方法,直接调用means过程</p><p>我给你举个简单的例子:</p><p>data abc;<br/>&nbsp;input a$ b @@;&nbsp;</p><p>cards;<br/>1 35 <br/>2 36 <br/>1 89 <br/>2 98 <br/>5 56 <br/>5 52<br/>;<br/>proc sort data=abc;<br/>by a;</p><p>proc means sum ;<br/>class a;<br/>var b;<br/>run;</p><p></p><p>a变量就是对应着你的代码这一列,你先sort就可以了。</p>
二维码

扫码加我 拉你入群

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

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

2008-12-11 17:17:00
<p>首先非常感谢楼上的帮助,非常感谢:)</p><p>不过,小弟还是想要Data步的解决方案,因为:首先,分组求和的结果是下一步计算要用的数据,所以如果能用Data步解决就更好;其次,这只是其中某一个时点的数据,除了这个时点外,还有好多批。。。如果只有这一个的话,我用楼上的方法把数据复制下来,或者导出到Excel里再导回去就行了。</p><p>还望达人们能够继续指教,感激不尽:)</p>
二维码

扫码加我 拉你入群

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

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

2008-12-11 18:49:00
<p>知道楼主是啥意思了 是要 dif 函数</p><p>data m;<br/>&nbsp;input a$ b @@;<br/>&nbsp;d=dif(b);<br/>cards;<br/>1 35 <br/>2 60 <br/>3 120<br/>4 240<br/>5 520<br/>;<br/>run;</p><p>/*上面不足是 d 缺失第一项,下面是把第一项补上,就OK了*/</p><p><br/>data a;<br/>set m;<br/>if a=1 then d=35;<br/>run;<br/></p>
二维码

扫码加我 拉你入群

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

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

2008-12-11 21:10:00
<p>proc means sum ;</p><p>output out=b sum=sum;</p><p>class a;<br/>var b;<br/>run;<br/>把结果输出到新数据集里,不就可以用了嘛</p>
二维码

扫码加我 拉你入群

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

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

2008-12-12 00:08:00
<p>多谢楼上诸位,小弟受教了:)</p>
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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