SAS: Как мы можем заменить значения для группы данных, используя циклы? - PullRequest
0 голосов
/ 21 сентября 2018

Я пытался заменить кучу данных в другом формате.Например, переменная с именем Week начинается со значения 1124 до значения 1175. Я хочу изменить это значение, начиная с 1.

То есть

Week     Week
1124       1
1125       2

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

if Week = 1124 then Week = 1;
and so forth.
run;

Это очень неэффективнокак я должен написать более 30 раз.Есть ли эффективный метод для решения этой проблемы?Другими словами, есть ли что-то похожее на циклы for?

1 Ответ

0 голосов
/ 21 сентября 2018

Шаг SAS DATA является неявным циклом - каждая строка в наборе данных обрабатывается до тех пор, пока не останется больше строк.Используйте простую арифметику для преобразования значения переменной недели.

data want;
  set have;
  week = week - 1123;
run;
...