Предположим, у меня есть 10 переменных, все с одним и тем же префиксом (они начинаются с com
).sas: перекодировать кучу переменных сразу
Предположим, что переменные являются бинарными, и есть некоторые отсутствующие данные, и я хотел бы установить все эти отсутствующие данные в 0. Я хотел бы создать новую переменную для каждой исходной переменной, чтобы исходные данные были неповрежденными.
Как бы я переписал все эти переменные сразу? Есть ли простой способ запустить цикл в SAS? Если бы это был Python или R, я мог бы написать цикл, чтобы сделать все это с помощью grep
или чего-то подобного.
EDIT: Вот что я пытаюсь сделать. Я хочу использовать unindexed массив с переменными com
для создания их копий с именем new_com
(префикс каждой переменной new
). Затем я просто хочу перекодировать, что, как я знаю, я могу сделать с помощью операторов if
then
. Первая часть, о клонировании переменных, - это то место, где я застрял.
Вы можете определить каждую новую переменную с помощью оператора if, например , если com1 =. то com1_nm = 0; else com1_nm = com1; или, поскольку это будет довольно повторяющимся, вы можете использовать do loops и массивы, чтобы сэкономить вам столько кода. http://support.sas.com/resources/papers/proceedings10/158-2010.pdf –
Спасибо, это полезно, но есть две проблемы: мне нужно переименовать переменные, используя префикс, d скорее не нужно перечислять каждый отдельно в массиве, а скорее использовать какой-либо шаблон. Любое понимание того, как это сделать? – vashts85