如何摆脱红圈内的方框
代码:
data mydata;
input x y;
datalines;
1 2
3 4
1 5
3 2
;
run;
proc freq data=mydata;
tables x*y /nopercent norow nocol;
run;
答案 0 :(得分:2)
data mydata;
input x y;
datalines;
1 2
3 4
1 5
3 2
;
run;
/*Write new template to work folder */
ods path work.templat(update) sashelp.tmplmst(read);
/*Remove the "Frequency" header from the template */
proc template;
edit Base.Freq.CrossTabFreqs;
edit frequency;
header="";
end;
end;
run;
proc freq data=mydata;
tables x*y /nopercent norow nocol;
run;
答案 1 :(得分:2)
与SAS一样,渴望结果有多条路径。
如果您愿意离开proc freq
,可以使用proc tabulate
获得所需的输出。这提供了一种更简单(更简洁)的解决方案,并且不需要挖掘冗长且经常令人困惑的proc template
文档。
proc tabulate data = mydata;
/* Specify the variables to investigate */
class x y;
table
/* Put x in the rows suppress its title and add a total row */
x = "" all = "Total",
/* Put y in the columns, request a total, request frequency count*/
(y all = "Total") * n = "" /
/* Put "x" in the top left box */
box = "x"
/* Put 0 instead of missing */
misstext = "0";
run;
答案 2 :(得分:1)
我知道如何执行此操作的唯一方法是编辑PROC FREQ
模板。从9.3左右开始,PROC FREQ
已经通过PROC TEMPLATE
重写为基本表格,这很好,因为它可以让我们编辑它的几乎所有方面。
我所做的是右键单击显示管理器中的结果树标题 - 如下所示:
然后选择"模板"。这将打开模板列表,其中包括您已安装的所有模板(样式模板和表模板 - 大多数PROC都有一个表模板,尽管msot不会像PROC FREQ
那样为您提供尽可能多的控制权。)< / p>
然后导航到Sashelp.Tmplmst(这是大多数预安装模板的主要模板存储),打开Base,然后打开Freq。这将为您提供组成PROC FREQ
的表格模板列表。
在您的情况下,您想要打开CrossTabFreqs,这是您正在制作的(交叉表)。您可以通过运行ods trace on;
然后运行代码来识别这一点;它会在日志中告诉你它所使用的模板名称是什么。
打开它并将模板浏览器的内容复制到剪贴板,然后粘贴到新窗口中。我们将对其进行修改,将其保存在临时位置,然后使用它。
将此行添加到程序的顶部:
ods path work.templat(update) sashelp.tmplmst(read);
这告诉SAS两件事:首先,当我们更新或写入模板商店时,在work
中执行此操作;和两个,首先查看work
然后在sashelp
中查看模板。这样,当我们创建新的CrossTabFreqs
模板时,它将来自work
。
现在,查看程序中定义Frequency
块的位置。这是您想要修改的内容,因为这是SAS的说明,告诉它在显示频率时打印什么(而不是百分比或诸如此类)。它将如下:
define Frequency;
header = "Frequency";
format = BEST7.;
label = "Frequency Count";
print;
data_format_override;
end;
您想要删除header
。您可以使用以下两种方法之一:完全删除标题行,或者我的首选选项,将其更改为
define Frequency;
header = " ";
format = BEST7.;
label = "Frequency Count";
print;
data_format_override;
end;
然后运行整个程序(包括ods path
语句)。现在,当您在此SAS会话中使用PROC FREQ
时,频率表标题中将没有文本。