как контролировать десятичную точку в наборе выходных данных SAS?

Я новичок в программировании SAS и пытаюсь работать с оператором proc. Для управления моим десятичным значением в выводе я использовал параметр maxdec, однако, когда я пытался назначить новый набор данных для вывода и распечатать его, мои десятичные значения не контролируются в стандартном отклонении. может кто-нибудь помочь мне понять, как контролировать десятичные точки в выходном наборе данных?? вот код, который я использовал:

1 ответ

Опция MAXDEC просто управляет тем, как генерируется PRINTOUT.

Если вы хотите контролировать количество знаков после запятой, используемых при печати набора данных, вам необходимо прикрепить формат к переменной (переменным). Для управления форматами, присоединенными к переменным в PROC MEANS, используйте оператор FORMAT. Если вы прикрепите формат к переменной анализа, то тот же формат будет прикреплен к любой статистике, полученной из этой переменной.

Таким образом, вы можете использовать оператор FORMAT на шаге PROC MEANS или при создании входного набора данных. Или вы можете прикрепить формат к переменной в выходном наборе данных позже или прямо во время PROC PRINT.

      data class ;
  set sashelp.class;
  format height weight 6.2;
run;

proc means data=class maxdec=2 noprint;
  var height weight;
  output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
run; 
proc contents data=dsn2 varnum; run;

Результат

               Variables in Creation Order

 #    Variable         Type    Len    Format

 1    _TYPE_           Num       8
 2    _FREQ_           Num       8
 3    Height_Mean      Num       8    6.2
 4    Weight_Mean      Num       8    6.2
 5    Height_Median    Num       8    6.2
 6    Weight_Median    Num       8    6.2
 7    Height_Min       Num       8    6.2
 8    Weight_Min       Num       8    6.2
 9    Height_Max       Num       8    6.2
10    Weight_Max       Num       8    6.2
11    Height_StdDev    Num       8    6.2
12    Weight_StdDev    Num       8    6.2

Обратите внимание, что PROC MEANS даже позволит вам напрямую прикрепить формат к сгенерированным статистическим переменным, но вы получите ПРЕДУПРЕЖДЕНИЕ о переменной, не найденной во входном наборе данных.

      2693   proc means data=sashelp.class maxdec=2 noprint;
2694   var height weight;
2695   format height_mean weight 6.2 ;
WARNING: Variable HEIGHT_MEAN not found in data set SASHELP.CLASS.
2696   output out=dsn2 Mean= Median= Min= Max= STD=/autoname;
2697   run;
Другие вопросы по тегам