2012-02-07 70 views
0

下面是一些數據:SPSS使用一個單元的值來調用另一個細胞

Test Day1 Day2 Score 
    A 1 2 100 
    B 1 3 62 
    C 3 4 90 
    D 2 4 20 
    E 4 5 80 

我試圖從「天」和「第2天」列採取的價值觀,並利用它們來選擇行號列分數。例如,對於測試A,我想找到100和62的總和,因爲那是第一和第二行得分的值。測試B我想找到100,62和90的總和。 有沒有人有關於如何去做這件事的任何想法?我期待在Excel中使用類似於間接函數的東西?謝謝

回答

1

訣竅是將變量「Score」作爲一行進行轉換。想不到一個簡單的方法來避免SAVE/GET - 改進的餘地。

file handle tmp 
/name = "C:\DATA\Temp". 

***. 

data list free /Test (a1) Day1 (f8) Day2 (f8) Score (f8). 
begin data 
A 1 2 100 
B 1 3 62 
C 3 4 90 
D 2 4 20 
E 4 5 80 
end data. 

comp f = 1. 

var wid all (12). 

save out "tmp\data.sav". 


***. 

get "tmp\data.sav" 
/keep score. 

flip. 

comp f = 1. 

match files 
/file "tmp\data.sav" 
/table * 
/by f 
/drop case_lbl. 

comp stat = 0. 
do rep var = var001 to var005 
/k = 1 to 5. 
if range(k, Day1, Day2) stat = sum(stat, var). 
end rep. 

list Test Day1 Day2 Score stat. 

結果:

Test  Day1  Day2 Score  stat 

A   1  2  100  162 
B   1  3  62  252 
C   3  4  90  110 
D   2  4  20  172 
E   4  5  80  100 


Number of cases read: 5 Number of cases listed: 5 
+0

非常感謝你,因爲某些原因,雖然當我嘗試運行此它不會產生顯示在語法編輯器中的列表中,當我刪除翻轉顯示但是它仍然擁有統計中的所有0? – user1026987 2012-02-10 01:22:19

+0

「list」命令在這裏是可選的。查看您的數據以查看結果。這裏必須使用「flip」命令。如果沒有「翻轉」,代碼將不起作用。 – djhurio 2012-02-12 10:34:31

相關問題