SAS中文论坛
标题:
2个data间如何求和?
[打印本页]
作者:
shiyiming
时间:
2014-1-13 01:25
标题:
2个data间如何求和?
已知2个data a,b,如下:
data a;
input unid $ x1 x2 x3 x4;
cards;
a001 2.5 1 19
a002 0.7 0 36
a003 1.4 . 8
a004 0.6 0 23
...
;
data b;
input var $ val;
cards;
x1 0.334
x2 -1.6
x3 5.1
x4 0.012
;
run;
*我想求data a中每行的和,i.e.:*;
data c; set a;
s=sum(x1*0.334,x2*(-1.6),x3*5.1,x4*0.012);
run;
问题1:如果data a 有很多的变量,比如50个,求和的时候就不可能hard code了。这种情况下,就想求教一下,该如何求和,macro或者其他办法?
问题2:如果data a有char变量x3 $, 又该如何应对?
谢谢!
作者:
shiyiming
时间:
2014-1-14 17:05
标题:
Re: 2个data间如何求和?
方法一:proc score
方法二:data step
方法三:proc iml
作者:
shiyiming
时间:
2014-2-10 14:01
标题:
Re: 2个data间如何求和?
ARRAY
作者:
slash
时间:
2014-2-16 20:19
shiyiming 发表于 2014-2-10 14:01
ARRAY
array是最简单的,再加一个 _NUMERIC_ 关键字就搞定了!
作者:
henryyhl
时间:
2014-2-16 21:52
本帖最后由 henryyhl 于 2014-2-16 21:53 编辑
学习了,谢谢分享。_all_ _numeric_ _character_这些关键字很好用
作者:
geniusd
时间:
2014-3-3 15:19
学习了,谢谢分享
作者:
GRASSHEAD
时间:
2014-4-8 16:09
数组就是应对多列的好工具。
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2