SPSS не может назначить строковую переменную

Первый блок кода работает нормально, но там, где написано «значение F14a», я хочу, чтобы строка, которая там хранится, фактически присваивалась F14a_pd3. Но приведенный ниже синтаксис должен привести к сбою SPSS для меня. F14a — это строковая переменная длиной 50.

Рабочий бесполезный синтаксис:

STRING F14a_pd3 (A50).
DO IF NOT F14a="missing" & papadex=3.
   COMPUTE F14a_pd3="value of F14a".
ELSE.
   COMPUTE F14a_pd3="missing".
END IF.
FREQUENCIES F14a_pd3.

Синтаксис сбоя:

STRING F14a_pd3 (A50).
DO IF NOT F14a="missing" & papadex=3.
   COMPUTE F14a_pd3=F14a.
ELSE.
   COMPUTE F14a_pd3="missing".
END IF.
FREQUENCIES F14a_pd3.

person blues    schedule 28.05.2012    source источник


Ответы (2)


Вам стоит подумать о звонке в техподдержку. Ваш синтаксис в порядке, и даже если это не так, это не должно привести к сбою (в худшем случае вы должны просто получить сообщение об ошибке).

Запустите этот воспроизводимый пример, демонстрирующий ваш синтаксис. Если это не приводит к «падению» SPSS, возможно, проблема связана с текущим файлом, над которым вы работаете.

data list free / F14a (A10) papadex (F1.0).
begin data
missing 3
xxxxx  3
missing 0
yyyyy 1
zzzzz 0
end data.

STRING F14a_pd3 (A10).
DO IF NOT F14a="missing" & papadex=3.
   COMPUTE F14a_pd3=F14a.
ELSE.
   COMPUTE F14a_pd3="missing".
END IF.
LIST ALL.

Что производит таблицу;

F14a       papadex F14a_pd3 

missing       3    missing 
xxxxx         3    xxxxx 
missing       0    missing 
yyyyy         1    missing 
zzzzz         0    missing
person Andy W    schedule 28.05.2012

Этот синтаксис отлично работает для меня. Когда вы говорите, что SPSS падает, что именно происходит? И что еще происходит на этом сеансе? Какую версию и платформу вы используете?

person JKP    schedule 29.05.2012