Генерация новой переменной в SAS приводит к ОШИБКЕ 180-322 - PullRequest
2 голосов
/ 30 марта 2020

Я очень новичок в SAS, поэтому на этот вопрос, вероятно, довольно простой ответ. Я использую университетское издание SAS.

У меня есть набор данных, содержащий социально-структурные данные в 31 переменной и 1000000 наблюдений. Данные хранятся в файле Stata .dta, поэтому я использовал следующий код для импорта в SAS:

LIBNAME IN '/folders/myfolders/fake_data';

proc import out= fake_2017 datafile = "/folders/myfolders/fake_data/mz_2017.dta" replace;
run;

Теперь я хочу создать новые переменные. Сначала переменная года, которая принимает значение 2017 для всех наблюдений. После этого у меня есть несколько других переменных, которые я хочу сгенерировать из 31 существующей переменной. Однако, запустив мой код, я получаю одно и то же сообщение об ошибке для всех моих шагов:

year = 2017;
run;

ERROR 180-322: Statement is not valid or it is used out of proper order.

В Интернете я нашел много вещей, но ничего, что могло бы мне помочь. Что я делаю не так / забыл? Для меня код похож на все обучающие видеоролики по SAS, которые я уже посмотрел.

1 Ответ

1 голос
/ 30 марта 2020

Вы не можете иметь оператор присваивания вне шага данных. Вы использовали шаг PRO C IMPORT для создания набора данных с именем fake_2017. Итак, теперь вам нужно выполнить шаг данных, чтобы создать новый набор данных, в котором вы можете создать новую переменную. Давайте назовем новый набор данных fixed_2017.

data fixed_2017;
  set fake_2017;
  year=2017;
run;
...