[软体程式类别]:
SAS
[程式问题]:
call symput
[软体熟悉度]:
中等
[问题叙述]:
请问我有一组数据如下,每个ID各有Q1~Q3三个变数,栏位string说明要把
哪几个变数相加
ID Q1 Q2 Q3 string
1 3 1 2 sum(Q2,Q3)
2 1 2 3 sum(Q1,Q2,Q3)
3 4 1 3 sum(Q1,Q2)
现在希望增加一栏位score,依照
string的指示来加总可以得到如下的值
ID score
1 3
2 6
3 5
目前利用call symput程式如下,但会变成每个人的score都统一以最後一人(ID3)的
string为准,即每个人的score都是Q1+Q2
Data compute;
set data1;
call symput('sum', string);
score = ∑
Run;
ID score(错)
1 4
2 3
3 5
想请板上高手指点一下,该怎麽修正? 谢谢
※ 编辑: edsmom (211.76.175.169), 06/16/2016 13:59:39
1F:→ paselalps: call symput得到的macro variable不能在同一个data 06/17 23:31
2F:→ paselalps: step里面使用,有误请指正 06/17 23:32