[程式] SAS call symput如何不要只看最後一列
[軟體程式類別]:
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
→
06/17 23:31, , 1F
06/17 23:31, 1F
→
06/17 23:32, , 2F
06/17 23:32, 2F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):