全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1406 3
2014-06-18
新手请教: variable X, Y为categorical var, 都可取三个值:‘A‘ ’B' 'C'.

X,Y,Z,D 均为变量名。

array  values {3,6} $10 _temorary_;

values ( sum((X='A') * 1, (X='B') * 2, (X='C')*3 ),
            sum((Y='A') * 1, (Y='B') * 2, (Y='C')*3)  +  (Z*3))  =  D;

请问这是怎么给values 赋值的?没看明白

二维码

扫码加我 拉你入群

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

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

全部回复
2014-6-18 11:14:28
values ( sum((X='A') * 1, (X='B') * 2, (X='C')*3 ),
            sum((Y='A') * 1, (Y='B') * 2, (Y='C')*3)  +  (Z*3))  =  D;

最外层把D的值传给这个数组。

sum((X='A') * 1, (X='B') * 2, (X='C')*3 ) 为行坐标值。

sum((Y='A') * 1, (Y='B') * 2, (Y='C')*3)  +  (Z*3) 为列坐标值。

例如其中,sum((Y='A') * 1, (Y='B') * 2, (Y='C')*3) ,(Y='A') * 1为 boolean 判断结果乘以1,相当于ifn(Y='A',1,0) * 1

例如:X= ‘A’, Y=‘B’,Z=1,D=4

解析为:values ( sum(1 * 1, 0 * 2, 0*3 ), sum(0 * 1, 1 * 2, 0*3)  +  (1*3))  =  4;
             values ( 1, 5)  =  4;
二维码

扫码加我 拉你入群

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

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

2014-6-19 01:11:00
Tigflanker 发表于 2014-6-18 11:14
values ( sum((X='A') * 1, (X='B') * 2, (X='C')*3 ),
            sum((Y='A') * 1, (Y='B') * 2, (Y='C ...
非常感谢! 请问我在运行array的时候总是出现这个error:
ERROR: Array subscript out of range at line 262 column 13.
请问这个怎么解决?
二维码

扫码加我 拉你入群

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

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

2014-6-19 12:29:48
babyface1982 发表于 2014-6-19 01:11
非常感谢! 请问我在运行array的时候总是出现这个error:
ERROR: Array subscript out of range at line ...
检查下你的code,可能在那个地方的数组角标玩儿脱了

建议你在那行ERROR之前设置一个put,把你计算的角标put出看下,调试好了在去掉
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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