SPSS использует значение одной ячейки для вызова другой ячейки - PullRequest
0 голосов
/ 07 февраля 2012

Ниже приведены некоторые данные:

    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, потому что это значения первой и второй строк оценки. Тест Б Я хотел бы найти сумму 100, 62 и 90. У кого-нибудь есть идеи, как это сделать? Я ищу использовать что-то похожее на косвенную функцию в Excel? Спасибо

1 Ответ

1 голос
/ 07 февраля 2012

Хитрость в том, чтобы преобразовать переменную «Оценка» в строку. Не мог придумать простой способ, как избежать 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
...