更改 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
等扩展命令。
当我在 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
等扩展命令。