Если вы хотите набор данных, вы можете использовать допустимые имена для переменных.Имена переменных обычно не могут начинаться с цифр.Вы можете использовать опцию PREFIX = в операторе PROC TRANSPOSE, чтобы выбрать, к каким символам вы добавляете префиксы к значениям вашей числовой переменной для создания допустимых имен.Поэтому вы можете использовать PREFIX=Y
для генерации имен переменных, таких как Y2011
, или использовать PREFIX=Year_
для генерации имен, таких как Year_2011
.Вы можете использовать оператор IDLABEL
, чтобы поместить пустую числовую строку в качестве ЭТИКЕТКИ переменной.
proc transpose data=have prefix=Year_ out=want(drop=_name_);
by State;
id Year;
idlabel Year;
var Value;
format year 4.;
run;
proc print;
run;
proc print label;
run;
Но на самом деле похоже, что вы хотите составить ОТЧЕТ, а не ДАННЫЙ КОМПЛЕКТ.Например, вы можете создать этот отчет, используя PROC REPORT из исходного набора данных, без необходимости PROC TRANSPOSE.
proc report missing data=have ;
column state value,year ;
define state / group ;
define year / across ' ';
define value / sum ' ';
run;