SAS: Можете ли вы сохранить входную таблицу сгенерированного SAS гистограммы?
Поэтому я создаю линейчатую диаграмму SAS в SAS с набором данных, который выглядит следующим образом:
id date default var1 log_var1 square_var1 ... cubic_var1
1 1 1 5 -3.3 0.9 1.2
1 2 0 15 -9.9 2.7 3.6
2 1 1 10 -6.6 1.8 2.4
...
Обратите внимание, что преобразования не
log(var1)
но на самом деле преобразование из регрессии так
log_var1 = alpha + beta log(var1)
Теперь я использую следующий код, сгенерированный задачей SAS для гистограммы:
SYMBOL1
INTERPOL=JOIN
HEIGHT=10pt
VALUE=SQUARE
LINE=1
WIDTH=2
CI=WHITE
CV = _STYLE_
;
SYMBOL2
INTERPOL=JOIN
HEIGHT=10pt
VALUE=SQUARE
LINE=1
WIDTH=2
CV = _STYLE_
;
SYMBOL3
INTERPOL=JOIN
HEIGHT=10pt
VALUE=SQUARE
LINE=1
WIDTH=2
CV = _STYLE_
;
SYMBOL4
INTERPOL=JOIN
HEIGHT=10pt
VALUE=SQUARE
LINE=1
WIDTH=2
CV = _STYLE_
;
SYMBOL5
INTERPOL=JOIN
HEIGHT=10pt
VALUE=SQUARE
LINE=1
WIDTH=2
CV = _STYLE_
;
SYMBOL6
INTERPOL=JOIN
HEIGHT=10pt
VALUE=SQUARE
LINE=1
WIDTH=2
CI=WHITE
CV = _STYLE_
;
Legend2
FRAME
;
Legend1
FRAME
;
Axis1
STYLE=1
WIDTH=1
MINOR=NONE
;
Axis2
STYLE=1
WIDTH=1
;
Axis3
STYLE=1
WIDTH=1
MINOR=NONE
;
TITLE;
TITLE1 "Bar-Line Chart";
FOOTNOTE;
FOOTNOTE1 "Generated by the SAS System (&_SASSERVERNAME, &SYSSCPL) on %TRIM(%QSYSFUNC(DATE(), NLDATE20.)) at %TRIM(%SYSFUNC(TIME(), TIMEAMPM12.))";
PROC GBARLINE DATA=WORK.SORTTempTableSorted
;
BAR var1
/
FRAME LEVELS=25
COUTLINE=BLACK
RAXIS=AXIS1
MAXIS=AXIS2
LEGEND=LEGEND2
;
PLOT / SUMVAR=default
TYPE=MEAN
AXIS=AXIS3
LEGEND=LEGEND1
;
PLOT / SUMVAR=lin_var1
TYPE=MEAN
AXIS=AXIS3
;
PLOT / SUMVAR=sigmoid_var1
TYPE=MEAN
AXIS=AXIS3
;
PLOT / SUMVAR=square_var1
TYPE=MEAN
AXIS=AXIS3
;
PLOT / SUMVAR=cubic_var1
TYPE=MEAN
AXIS=AXIS3
;
PLOT / SUMVAR=log_var1
TYPE=MEAN
AXIS=AXIS3
;
/* -------------------------------------------------------------------
End of task code
------------------------------------------------------------------- */
RUN; QUIT;
%_eg_conditional_dropds(WORK.SORTTempTableSorted);
TITLE; FOOTNOTE;
GOPTIONS RESET = SYMBOL;
Мой вопрос:
Можно ли как-то сохранить или сохранить входные данные для создания этой гистограммы? Т.е. таблица, которая содержит среднее значение по умолчанию, var1, square_var1, cubic_var1 для 25 одинаково разнесенных корзин?
Предпосылкой для этого является то, что все входы находятся в разных масштабах, и поэтому я хотел бы стандартизировать входы и затем построить графики
Примечание: я могу потратить время на то, чтобы закодировать биннинг самостоятельно, но это действительно будет уловка ленивого программиста!
1 ответ
Там нет варианта на GBARLINE
порядок вывода параметров построения, которые он вычисляет. Ваши графические параметры по умолчанию, вероятно, создают png
изображение для HTML-страницы, которая используется для представления диаграммы для просмотра.
Измените графические устройства на svg
и ODS создаст источник HTML, содержащий инструкции по рисованию для создания видимого изображения. Инструкции будут в <g>
тег. Таким образом, если вы действительно мотивированы быть ленивым и не вручную кодировать средние точки и значения осей, вы можете написать код для анализа html и очистки вычисленных средних точек и тиков осей изнутри <g>
тег.
ods html5 file="c:\temp\gbarline.html";
goptions reset=all;
goptions device=svg;
… gbarline …
ods html5 close;
… parse the ODS created c:\temp\gbarline.html …