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

时间:2015-10-28 19:11:29

标签: spss

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

2 个答案:

答案 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中更改此默认文本。我怀疑你可以破解一些系统文件,如果你真的想这样做的话就可以实现这个目的。