更改 SPSS 输出中交叉表的标准标签前缀

Change standard label prefix for Crosstabs in SPSS Output

当我在 SPSS 中 运行 一个带有列和/或行百分比的交叉表时,百分比的标准标签是 % within <VARLABEL>(或者当使用德语输出时是 % innerhalb von <VARLABEL>)。在某些情况下,我发现它太长了,我想在语法中定义这个前缀的较短版本(这样我就不必手动更改所有内容)。如果可能的话,我该怎么做?

CUSTOM TABLES 旨在提供很大的灵活性,让您可以根据需要应用这些类型的自定义。但是,我不知道您如何更改 CROSSTABS 中的默认文本。我怀疑你可以破解一些系统文件来实现这一点,如果你真的想这样做的话。

@Jignesh,不!定义输出标签的文本文件是编译文件,不应被弄乱。

更改标签的一种方法是在 Python 或 Basic 中编写自动脚本来修改标签。您通过编辑 > 选项 > 脚本将其附加到 table 类型,每次创建该类型的 table 时它都是 运行。

当然,这需要编写这样的脚本的能力。另一种更简单的方法是使用带有非常小的 Python 代码片段的 SPSSINC MODIFY TABLES 扩展命令。您必须明确地 运行 此命令,但它可以遍历指定类型的所有查看器 table 并进行更改。这是 CROSSTABS 的示例。在此示例中,自定义函数将以“% within”开头的任何行标签更改为“%”。

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 或更高版本中,您可以从“实用程序”菜单下载并安装 MODIFY TABLES 等扩展命令。