#model #sas #logistic-regression
Вопрос:
У меня есть набор данных с примерно 58 столбцами. Мне нужно передать 57 из них (1 — зависимая переменная) в качестве независимых переменных для регрессионной модели логита. Я не хочу делать это, записывая все имена столбцов по одному. Есть ли более короткий способ сделать это?
Комментарии:
1. Находятся ли переменные в каком-то определенном порядке? Вы можете использовать обозначение — для перечисления переменных в модели. К вашему сведению, если вы просто перечислите модель, я думаю, что она использует все по умолчанию, не могу вспомнить. blogs.sas.com/content/iml/2018/05/29/…
Ответ №1:
Самый простой способ создать списки переменных из набора данных-использовать таблицы словаря.
proc sql;
select name
into :varlist separated by ' '
from dictionary.columns
where libname='SASHELP' and memname='CLASS' and name ne 'Name'
;
quit;
Теперь у вас есть макропеременная amp;varlist
, и вы можете использовать ее в своих процедурах повторной регистрации. Очевидно, замените три поля в кавычках правильным именем libname, именем данных и именем столбца для вашей зависимой переменной. ( memname
= набор данных, name
= столбец). Обратите внимание, что все три из них обычно пишутся с заглавной буквы, в случае SASHELP.CLASS
, если по какой — то причине имена переменных не являются таковыми, поэтому будьте осторожны, чтобы использовать upcase()
или использовать правильный регистр.