Выбор переменных в наборе данных в соответствии со значениями в другом наборе данных - PullRequest
0 голосов
/ 23 января 2019

Я хочу создать подмножество для набора данных, который имеет около 100 переменных, и я хочу сохранить только те переменные, которые присутствуют в качестве значений другой переменной в другом наборе данных.Может кто-нибудь попросить помочь мне с синтаксисом SPSS.

Вот как это должно выглядеть:

DATASET ACTIVATE basedataset.
SAVE OUTFILE ='Newdata.sav'
/KEEP Var1.

Var 1 - это переменная в другом наборе данных, которая содержит все значения, на основе которых я хочу выполнить подмножество. Я неуверен, что вектор должен быть задействован или есть более простой способ сделать это.

1 Ответ

0 голосов
/ 23 января 2019

Следующее создаст макрос, содержащий список переменных, которые вам требуются для использования в вашем анализе или в подмножестве данных.

Сначала я создам пример данных для демонстрации на:

data list free /v1 to v10 (10f3).
begin data
1,2,3,2,4,7,77,777,66,55
end data.
dataset name basedataset.

data list free/var1 (a4).
begin data
"v3", "v5", "v6", "v9"
end data.
dataset name varnames.

Теперь для создания списка:

dataset activate varnames.
write out="yourpath\var1 selection.sps" 
    /"VARIABLE ATTRIBUTE VARIABLES= ", var1, " ATTRIBUTE=selectVars('yes')." .
exe.

dataset activate basedataset.
VARIABLE ATTRIBUTE VARIABLES=all  ATTRIBUTE=selectVars('no').
insert file="yourpath\var1 selection.sps".
SPSSINC SELECT VARIABLES MACRONAME="!varlist" /ATTRVALUES NAME=selectVars VALUE = yes .

Список теперь готов и может быть вызван с использованием имени макроса !varlist в любой команде, например:

freq !varlist.

или

SAVE OUTFILE ='Newdata.sav' /KEEP !varlist.
...