Это мой текущий вопрос:SAS: Изменение нескольких имен переменных
У меня есть 53 переменных заголовков в наборе данных SAS, которые должны быть изменены, например:
Current_Week_0 TS | Current_Week_1 TS | Current_Week_2 TS -- etc.
мне это нужно изменить такие, что Current_Week_# TS = Current_Week_# -- dropping the TS
есть ли способ автоматизировать этот процесс, такие как зацикливания это нравится:
i = 0,53
Current_week_i TS = Current_Week_i ?
Я просто не понимаю правильного синтаксиса.
Редактировать: Спасибо, что редактировали мои форматы Серджиу, оцените! :)
Edit:
Я использовал следующий код, но я получаю следующее сообщение об ошибке:
Missing числовой суффикс нумерованного списка переменных (TS-Current_Week_53)
DATA True_Start_8;
SET True_Start_7;
ARRAY oldnames (53) Current_Week_1 TS-Current_Week_53 TS;
ARRAY newnames (53) Current_Week_1-Current_Week_53;
DO i = 1 TO 53;
newnames(i) = oldnames(i) ;
END;
RUN;
@ Joe EDIT
Вот как выглядят данные до и после «денорма»/транспонирования
ПЕРЕД
Product ID CurrentWeek Market TS
X 75av2kz Current_Week_0 Z 1
Y 7sav2kz Current_Week_0 Z 1
X 752v2kz Current_Week_1 Z 1
Y 255v2kz Current_Week_1 Z 1
Product ID Market Current_Week_0_TS Current_Week_1_TS
X 75av2kz Z 1 0
Y 7sav2kz Z 1 1
X 752v2kz Z 1 1
Y 255v2kz Z 1 0
Является ли это то, что вы хотите: http://stackoverflow.com/questions/5056397/in-sas-use-loop-to-rename-indexed-columns? –
Звучит так, но я думаю, что есть лучшие ответы. – Joe
Привет, Barjey - Я ценю ответ, и я действительно попытался использовать код, который был в этом ранее отвеченном вопросе. Я думаю, что моя проблема - это «TS» в конце, что затрудняет SAS выполнение цикла «i»? Выше я добавил код, который я попытался использовать. – mmichaelx