我正在使用SAS ODS创建PDF文档.下面的代码可以将4个图形放在1页上.但是,如果我尝试在2页上放置8个图形,我得到的就是1页上的4个图形.我尝试在星号行之间复制部分并在"ods pdf close"上面再次粘贴它.但那没用.我也尝试添加"ods startpage = now;" 两者之间,但也没有用.如何在2页上放置8个图表?
goptions reset=all;
data test;
input x y @@;
datalines;
1 2 2 4 3 8 4 10 5 15
;
run;
ods pdf file="[path]/output.pdf" ;
****
ods layout Start width=10in height=8in ;
ods region x=0 y=5% width=45% height=45%;
proc gplot data=test;
title2 'PLOT #1';
plot y*x /name="mygraph1" noframe;
run;
ods region x=55% y=5% width=45% height=45%;
title2 'PLOT #2';
plot y*x /name="mygraph2" noframe;
run;
ods region x=0 y=51% width=45% height=45%;
title2 'PLOT #3'; …Run Code Online (Sandbox Code Playgroud) 我是SAS的初学者,遇到以下问题。
我需要从一个数据集中计算多个变量(ABC)的计数和百分比,然后将结果保存到另一个数据集中。我的代码是:
proc freq data = mydata; 表ABC / out = data_out; 跑;
每个变量的过程结果将显示在SAS输出窗口中,但data_out仅包含最后一个变量的结果。如何将它们全部保存在data_out中?任何帮助表示赞赏。
当使用SAS将ODS转换为PDF时,是否可以包括提交的语法甚至输出日志文件?
例如,给出这个简单的代码:
ods pdf file = "c:\temp\myPDF.pdf";
proc reg data = mydata;
model y = x;
run;
ods pdf close;
Run Code Online (Sandbox Code Playgroud)
我可以得到回归输出和附图.但是有可能像这样将所附的命令合并到PDF中吗?
proc reg data = mydata;
model y = x;
run;
Run Code Online (Sandbox Code Playgroud) 在 SAS 9.3 中,我可以ODS HTML GPATH用来指定我想要保存图形的路径(如果我愿意的话)。在 9.4 中,默认情况下(即每次我打开 SAS 时),每当我制作图形(PROC SGPLOT例如,带有)时,它都会自动将绘图保存到保存 SAS 程序的位置。我试过转到工具 --> 选项 --> 首选项 --> 结果并取消选中 HTML 和 ODS 选项的每个组合,但无论如何我仍然会自动保存图形。我怎样才能关闭它?最好我还是有ODS输出内SAS,但我不希望这些PNG(或其他)图像SAS之外自动保存到我的电脑。
编辑:更多信息,因为上述差异尚不清楚。
1)在 9.3 中,我不得不说ODS GRAPHICS ON并指定ODS HTML GPATH,以便让 SAS 将我的绘图保存到 SAS 之外的我的计算机上(或者我是这么认为的)。如果我想要 SAS 内部的 ODS 图形,但不想在 SAS 之外保存图形,我可以说ODS GRAPHICS ON并跳过该ODS HTML GPATH语句。
2)当我打开 9.4 并且不做任何声明ODS(即保留默认设置),而是运行一个过程,如SGPLOT, I A)得到一个 html 图(显示在 SAS 的“结果”窗口中的 ODS 图)和我可以双击在 Windows 照片查看器中打开的图形,并且 …
我正在运行以下代码来输出某个变量的直方图:
ods results off;
ods listing close;
ods pdf file="&folder/temp.pdf";
title ;
* Histogram of betCount;
proc univariate data=want;
var BetCount;
histogram;
*label sex=' ' height='Height (cm)';
run;
ods pdf close;
ods listing;
ods results on;
Run Code Online (Sandbox Code Playgroud)
它确实会创建 PDF,但有很多额外的表格和输出。我只想看直方图,因为我被读入乳胶作为 \minipage 的一部分,其中有六个数字。我之前已经手动完成此操作,方法是截取所需区域的屏幕截图,粘贴到 Paint 中并转换为 PDF 或 PNG:我不想再走这条路了!对于 SAS 中的图形和绘图,一般如何做到这一点?
感谢您的任何帮助。
对于要以“ J”开头的人,我想将整行变成红色。这可能使用proc print吗?
ods html file=odsout style=htmlblue ;
proc print data=sashelp.class noobs label;
var name age;
run;
ods html close;
Run Code Online (Sandbox Code Playgroud) 是否可以使用proc报告在一个excel工作表上堆叠多个表?例如,下面是我的代码的简化版本,我想使用第一个proc报告显示table1,然后跳过一行并在同一工作表的正下方显示table2.
ods listing close;
ods results off;
ods tagsets.excelxp file="c:\temp\char.xls" style=esgexcel ;
proc report data=table1 missing nowindows spacing=1;
column field1
field2
field3
;
define field1 / 'acct';
define field2 / format=mmddyy10. 'date';
define field3 / format=dollar22.2 'value';
run;
proc report data=table2 missing nowindows spacing=1;
column field1
field2
field3
;
define field1 / 'acct';
define field2 / format=mmddyy10. 'date';
define field3 / format=dollar22.2 'value';
run;
ods tagsets.excelxp close;
ods listing;
ods results;
Run Code Online (Sandbox Code Playgroud)
它不起作用.它将两个proc报告放在单独的工作表上.
每当我使用SAS从tso主机打印出一份工作时,我都会得到这样的结果:
Obs Name Amount
1 John 10
2 Ben 20
Obs Name Amount
3 Jen 15
4 Pat 20
Run Code Online (Sandbox Code Playgroud)
基本上,我在输出中多次获取标题.我正在使用:
OPTIONS NODATE NONUMBER;
TITLE1; TITLE2;
PROC PRINT DATA=DATASET;
RUN;
Run Code Online (Sandbox Code Playgroud)
我还应该添加什么才能获得更好的输出?