2012-10-03 84 views
0

我有兩組變量,稱爲項目1到項目47,另一個稱爲L1到L47。我想要做的是計算Ls的總和,如果任何ITEM#i = 1。我寫的如下:循環在SPSS中的項目和總項目

COMPUTE LSUM = 0。 LOOP #i = 1至47.
如果(ITEM(#i)= 1)LSUM = LSUM + L(#i)。 END LOOP。

但我收到一條錯誤消息,指出這些字符與任何現有函數或向量都不匹配。那我該怎麼辦?您的意見將非常感謝。

謝謝。

此致 露

+1

請參閱DO REPEAT命令。這個完全相同的問題最近被問到NABBLE列表服務,http://spssx-discussion.1045642.n5.nabble.com/Loop-through-items-and-sum-items-td5715454.html。 –

回答

0
COMPUTE LSUM=0. 
exe. 

vector vitems = ITEM 1 to ITEM 47. 
vector vl = L1 to L47. 

LOOP #vecid = 1 to 47. 
do IF ( vitems(#vecid) eq 1 and not missing(vl(#vecid)) ). 
compute LSUM=LSUM+vl(#vecid). 
end if. 
END LOOP. 
exe. 

參見SPSS的VECTOR指令。你不能像在數組中那樣創建循環和處理變量。他們必須首先被放入媒介。另外,檢查COMPUTE命令。我認爲SUM會更合適,因爲如果您編寫「compute v1 = v2 + v3」並且v2有數據但v3爲空白,則v1將爲空白。