2016-08-24 1 views
1

Работа с электронной таблицей SPSS, содержащей смешанные данные. Один столбец содержит различные числовые записи по строкам. Я написал простой макрос, который имеет следующее поведение.Как преобразовать макрос SPSS, который проверяет номера для проверки буквы и числа?

  1. Проверяет каждую строку для заданной числовой записи в столбце.
  2. новый столбец Затем создается и, если цифровая запись в строке оно присваивается 1. Если не назначается 0.

код выглядит следующим образом:

DEFINE INCHECK (!POSITIONAL !TOKENS(1) 
/!POSITIONAL !CMDEND) 

NUMERIC !1. 
COUNT !1=IN1 TO IN15 (!2). 
IF !1 GT 0 
!1=1. 
!ENDDEFINE 

Проблема заключается в следующем. Теперь у меня есть новый набор данных, который имеет дополнительную колонку с данными типа «E1567, G4345 и т. Д.». Я хотел бы настроить макрос, чтобы иметь такое же поведение с этим типом записи. Я хотя бы об конвертации записей, но я не уверен, как это сделать в SPSS. Есть предположения?

+0

Прежде чем обратиться к этой проблеме, я могу предложить общее улучшение для макроса. Это может заменить макросодержание: 'compute! 1 = any (! 2, IN1 TO IN15) .' –

ответ

0

Из ваших примеров Я понимаю, что ваши новые текстовые переменные состоят из одной буквы, а затем нескольких цифр. Если это соответствует во всех случаях (если нет, пожалуйста, дайте больше примеров), вы можете использовать это простое преобразование, прежде чем вернуться, чтобы использовать один и тот же макрос:

compute YourTextVar=char.substr(YourTextVar,2,20). 
alter type YourTextVar(f20). 
+0

Эй, Эли, прошу прощения за то, что вы не уточнили. Поведение этого кода кажется таким, что переменная, которая, как вы вывели букву, за которой следует число, преобразуется из строки в числовую. Я бы хотел, чтобы INCHECK распознал строку as-is, а не преобразовал ее в числовой. Имеет ли это смысл? – George

+0

Я думаю, что я действительно не понимаю проблему - один из столбцов IN1 TO IN15 теперь является текстом, а значение, которое вы ищете, иногда может быть числом, а иногда и строкой? - вам нужен макрос, чтобы приспособиться к новым файлам с неожиданным числом и именами текстовых переменных, только для этого нового конкретного набора данных? –

Смежные вопросы