当我在SPSS中使用列和行百分比运行交叉表时,百分比的标准标签为% within <VARLABEL>
(或使用德语输出时为% innerhalb von <VARLABEL>
)。在某些情况下,我发现这很长,我想在语法中定义这个前缀的较短版本(所以我不必手动更改所有内容)。如果可能的话,我该怎么做?
答案 0 :(得分:3)
@Jignesh,不!定义输出标签的文本文件是编译文件,不应混淆。
更改标签的一种方法是在Python或Basic中编写可以修改标签的自动脚本。您可以通过编辑&gt;将其附加到表格类型选项&gt;脚本,每次创建该类型的表时都会运行它。
当然,这需要编写这样一个脚本的能力。另一种更简单的方法是使用SPSSINC MODIFY TABLES
扩展命令和一个非常小的Python代码片段。您必须显式运行此命令,但它可以遍历指定类型的所有Viewer表并进行更改。以下是CROSSTABS
的示例。在此示例中,自定义函数会更改以&#34;%开头的所有行标签。只是&#34;%&#34;。
CROSSTABS
/TABLES=jobcat BY gender
/CELLS=COUNT ROW.
begin program.
def relabel(obj, i, j, numrows, numcols, section, more,custom):
oldlabel = obj.GetValueAt(i, j)
newlabel = oldlabel.replace("% within", "%")
obj.SetValueAt(i, j, newlabel)
end program.
SPSSINC MODIFY TABLES subtype="'Crosstabulation'"
SELECT="^% within "
REGEXP=YES DIMENSION= ROWS
LEVEL = -1 PROCESS = PRECEDING
/STYLES APPLYTO=LABELS customfunction="\__main__.relabel".
要使用函数的内联定义,至少需要SPSSINC MODIFY TABLES
的1.5.0版本。如果您安装了旧版本并且不想更新它,则只需将Python函数保存在单独的Python文件中。
在Statistics 22或更高版本中,您可以从Utilities菜单下载并安装MODIFY TABLES
等扩展命令。
答案 1 :(得分:0)
CUSTOM TABLES
旨在为您提供更大的灵活性,以便根据需要应用这些类型的自定义。我不知道你如何在CROSSTABS
中更改此默认文本。我怀疑你可以破解一些系统文件,如果你真的想这样做的话就可以实现这个目的。