Синтаксис для добавления нового случая к данным - PullRequest
0 голосов
/ 21 октября 2019

Если у меня есть переменная в SPSS, с именем (My_Variable), меткой (My Variable), значениями (1: Да, 2: Нет) и т. Д., Но без данных (столбец в представлении данных пуст), я хочудобавить данные, используя синтаксис! Например, я хочу добавить участника в 1-й строке, который ответил «Да», поэтому я хочу, чтобы 1 был добавлен !!! Как я могу это сделать ???

Я нашел похожие вопросы, но решение относится к созданию нового окна SPSS и добавлению туда значений! Но я не хочу этого! Я хочу добавить данные в существующую переменную, не создавая новый файл SPSS!

Ответы [ 2 ]

0 голосов
/ 14 ноября 2019

Вам не нужно создавать данные в первом наборе данных. Просто создайте переменные и определите их по своему усмотрению.

DATASET CLOSE ALL.

INPUT PROGRAM.
NUMERIC My_Variable (F1).
VARIABLE LABELS My_Variable "I want this!".
VALUE LABELS My_Variable 1 "Yes" 2 "No".
END FILE.
END INPUT PROGRAM.
DATASET NAME Empty.

DATA LIST FREE /My_Variable.
BEGIN DATA.
1 2
END DATA.

APPLY DICTIONARY /FROM Empty
 /SOURCE VARIABLES=My_Variable
 /TARGET VARIABLES=My_Variable
 /VARINFO VALLABELS=REPLACE VARLABEL.
DATASET CLOSE Empty.

FREQUENCIES VARIABLES ALL.

Я использовал DATASET, но вы могли бы сохранить пустой файл на диск. См. Команду APPLY DICTIONARY для более подробной информации о том, как она работает.

0 голосов
/ 22 октября 2019

Очевидно, что нет возможности напрямую добавлять наблюдения в набор данных SPSS с помощью синтаксиса. Но следующее мне кажется довольно близким: вы не создаете новые файлы, а создаете новый набор данных и добавляете его в свой исходный файл.

Давайте сначала создадим небольшие данные для демонстрации:

Data list list/ID (a5) var1 var2 var3 (3f2).
begin data
"first"    1    17   7
"secnd"    5    5    12
"third"    34   11   91
end data.
dataset name originalDataset.

Итак, это ваши исходные данные. Теперь представьте, что вы хотите добавить в данные новый случай со значением идентификатора «привет» и номером 42 во всех столбцах. Это то, что вы делаете:

* creating the new case in a separate dataset.
Data list list/ID (a5) var1 var2 var3 (3f2).
begin data
    "hello"    42    42   42
end data.
dataset name addition.
* going back to original dataset and adding the new case.
dataset activate originalDataset.
add files /file=* /file=addition.
exe.
dataset close addition.
...