как контролировать десятичную точку в наборе выходных данных 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;