Syntax 用于在输出文件大纲中命名单个分析的SPSS语法

Syntax 用于在输出文件大纲中命名单个分析的SPSS语法,syntax,output,naming,spss,Syntax,Output,Naming,Spss,我已经在SPSS中创建了语法,它为我提供了90个单独的一般线性模型迭代,每个迭代都有稍微不同的固定因子和协变量。在输出文件中,它们都被命名为“通用线性模型”。然后,我必须手动重命名输出中的每个分析,我想找到语法,为每个结果添加一个更具体的名称,帮助我从其他89个结果中识别出它(例如,“通用线性模型-仅限男性:性别w/体重协变量的平均值”) 这是一个语法分析示例: USE ALL. COMPUTE filter_$=(Muscle = "BICEPS" & Subj = "S1" &

我已经在SPSS中创建了语法,它为我提供了90个单独的一般线性模型迭代,每个迭代都有稍微不同的固定因子和协变量。在输出文件中,它们都被命名为“通用线性模型”。然后,我必须手动重命名输出中的每个分析,我想找到语法,为每个结果添加一个更具体的名称,帮助我从其他89个结果中识别出它(例如,“通用线性模型-仅限男性:性别w/体重协变量的平均值”)

这是一个语法分析示例:

USE ALL.
COMPUTE filter_$=(Muscle = "BICEPS" & Subj = "S1" & SMU = 1 ).
VARIABLE LABELS filter_$ 'Muscle = "BICEPS" & Subj = "S1" & SMU = 1 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0). FILTER BY filter_$.
EXECUTE. 

GLM Frequency_Wk6 Frequency_Wk9
    Frequency_Wk12 Frequency_Wk16 
    Frequency_Wk20
/WSFACTOR=Time 5 Polynomial
/METHOD=SSTYPE(3)
/PLOT=PROFILE(Time)
/EMMEANS=TABLES(Time)
/CRITERIA=ALPHA(.05)
/WSDESIGN=Time. 

我正在寻找语法来添加到这将命名为:“S1,SMU1二头肌,GLM”的分析不是命名整个输出文件,而是在输出中的每个分析,所以我不必逐一进行。我在单个输出文件中有超过200次迭代,在输出文件中单独重命名它们花费了太多的时间。

假设您正在将模型导出到Excel(请另外澄清)

这里有一个未记录的命令(
OUTPUT COMMENT TEXT
),您可以在这里使用,不过还有一个自定义扩展名
TEXT
,也可以实现同样的功能,但需要通过以下方式显式下载:

Utilities-->Extension Bundles-->Download And Install Extension Bundles--->TEXT
您可以使用
OUTPUT COMMENT TEXT
在GLM模型输出之前分配标题/描述性文本(在下面的示例中,我使用了
FREQUENCIES
作为示例)

您也可以在此处使用
TITLE
命令,但它仅限于60个字符。 如果使用
标题
文本
,则必须适当更改OMS标记

编辑: 鉴于OP希望在输出查看器的左侧窗格中实际添加标题,解决方案如下(Python代码归功于Albert Jan Roskam):

首先将python文件“editTitles.py”保存到一个有效的python搜索路径(例如(无论如何对我来说):“C:\ProgramData\IBM\SPSS\Statistics\23\extensions”)

重新启动SPSS统计并运行以下测试:

get file="C:\Program Files\IBM\SPSS\Statistics\23\Samples\English\Employee data.sav".

title="##Model##: jobcat".
freq jobcat.

title="##Model##: gender".
freq gender.

title="##Model##: minority".
freq minority.

begin program.
import editTitles
editTitles.titleToPane()
end program.
TITLE
命令最初将向主输出查看器(右侧)添加一个标题,但随后python代码将该文本传输到左侧窗格输出树结构。如前所述,注意
TITLE
仅限60个字符,同时会触发警告以突出显示此内容

这种editTitles.py方法是最接近于包含描述性标题来标识每个模型的方法。要用自定义标题替换实际标题“通用线性模型”,需要脚本知识,并且需要更多的代码。这是一种更简单的替代方法。Python集成需要此工作。

也考虑使用:

SPLIT FILE SEPARATE BY <list of filter variables>. 

我想要的与你发布的内容完全相同。这是一篇老文章,但我试图弄明白这一点,结果弄砸了脑袋。我就是这样处理这个问题的。预先通知。我将要介绍的选项中没有一个能给出我想要的结果。在您的语法中包括

/度量=您的自定义名称

每个名称最多可以使用255个字节。有关更多信息,请参阅度量文档

例如:

GLM Q1.5_1 Q1.5_2 BY Group 
    /WSFACTOR=measurement 2 Polynomial 
    /MEASURE= YourCustomName 
    /METHOD=SSTYPE(3) 
    /PLOT=PROFILE(measurement*Group) TYPE=LINE ERRORBAR=NO MEANREFERENCE=NO YAXIS=AUTO 
    /EMMEANS=TABLES(Group*measurement) 
    /PRINT=DESCRIPTIVE OPOWER HOMOGENEITY 
    /CRITERIA=ALPHA(.05) 
    /WSDESIGN=measurement 
    /DESIGN=Group.
* Activate the chart template
SET
    TLook='C:\PROGRA~1\IBM\SPSS\STATIS~1\26\Looks\APA_TimesRoma_12pt.stt' 
    Small=0.0001 
    CTemplate='C:\Users\scrip\Desktop\glm-template.sgt' 
    SUMMARY=None 
    THREADS=AUTO 
    TFit=Both 
    DIGITGROUPING=No 
    LEADZERO=No 
    TABLERENDER=light.

* Run your code. For me this is a single General linear model to keep things simple
GLM Q1.5_1 Q1.5_2 BY Group 
    /WSFACTOR=measurement 2 Polynomial 
    /MEASURE= YourCustomName 
    /METHOD=SSTYPE(3) 
    /PLOT=PROFILE(measurement*Group) TYPE=LINE ERRORBAR=NO MEANREFERENCE=NO YAXIS=AUTO 
    /EMMEANS=TABLES(Group*measurement) 
    /PRINT=DESCRIPTIVE OPOWER HOMOGENEITY 
    /CRITERIA=ALPHA(.05) 
    /WSDESIGN=measurement 
    /DESIGN=Group.

* Revert to default chart template
SET 
    TLook='C:\PROGRA~1\IBM\SPSS\STATIS~1\26\Looks\APA_TimesRoma_12pt.stt' 
    Small=0.0001 
    CTemplate=None 
    SUMMARY=None 
    THREADS=AUTO 
    TFit=Both 
    DIGITGROUPING=No 
    LEADZERO=No 
    TABLERENDER=light.
我还没有找到一种方法来获取标签名并将其放入。但是根据文件。无论如何,这不是它应该被使用的方式。所以这对我来说是行不通的。接下来我做的是更改图表的模板。要做到这一点,只需双击图表,在图表编辑器中打开。在这里,您可以将标题更改为您想要的任何名称。保存图表模板。要执行此操作,请在图表编辑器中转到文件,然后保存图表模板。确保勾选“文本内容”

你接下来必须做的是以下几点。在生成图表的代码之前(我在本例中使用上述代码)激活模板,在代码运行之后,将其停用。因此,对于上面的示例,它将如下所示:

GLM Q1.5_1 Q1.5_2 BY Group 
    /WSFACTOR=measurement 2 Polynomial 
    /MEASURE= YourCustomName 
    /METHOD=SSTYPE(3) 
    /PLOT=PROFILE(measurement*Group) TYPE=LINE ERRORBAR=NO MEANREFERENCE=NO YAXIS=AUTO 
    /EMMEANS=TABLES(Group*measurement) 
    /PRINT=DESCRIPTIVE OPOWER HOMOGENEITY 
    /CRITERIA=ALPHA(.05) 
    /WSDESIGN=measurement 
    /DESIGN=Group.
* Activate the chart template
SET
    TLook='C:\PROGRA~1\IBM\SPSS\STATIS~1\26\Looks\APA_TimesRoma_12pt.stt' 
    Small=0.0001 
    CTemplate='C:\Users\scrip\Desktop\glm-template.sgt' 
    SUMMARY=None 
    THREADS=AUTO 
    TFit=Both 
    DIGITGROUPING=No 
    LEADZERO=No 
    TABLERENDER=light.

* Run your code. For me this is a single General linear model to keep things simple
GLM Q1.5_1 Q1.5_2 BY Group 
    /WSFACTOR=measurement 2 Polynomial 
    /MEASURE= YourCustomName 
    /METHOD=SSTYPE(3) 
    /PLOT=PROFILE(measurement*Group) TYPE=LINE ERRORBAR=NO MEANREFERENCE=NO YAXIS=AUTO 
    /EMMEANS=TABLES(Group*measurement) 
    /PRINT=DESCRIPTIVE OPOWER HOMOGENEITY 
    /CRITERIA=ALPHA(.05) 
    /WSDESIGN=measurement 
    /DESIGN=Group.

* Revert to default chart template
SET 
    TLook='C:\PROGRA~1\IBM\SPSS\STATIS~1\26\Looks\APA_TimesRoma_12pt.stt' 
    Small=0.0001 
    CTemplate=None 
    SUMMARY=None 
    THREADS=AUTO 
    TFit=Both 
    DIGITGROUPING=No 
    LEADZERO=No 
    TABLERENDER=light.
如果要获取与激活模板图表相关的代码,请转到编辑、选项,选择图表选项卡,选择使用图表模板文件并选择文件。这将在语法窗口中自动为您生成代码。只需复制粘贴这是您自己的语法文件。返回,通过选择使用当前设置重复操作


总之,您可以更改标题,但我还没有弄清楚如何使用与变量的标签名称相对应的名称命名每个图表。希望这能帮助那些面临同样问题的人。

可能有多种方法可以实现这一点。你能更详细地说明一下当前的设置吗?例如,OMS是否被路由到Excel导出?您是否可以编辑您的帖子,使其包含足够的语法,以帮助理解您当前使用的操作?这里感兴趣的是OMS语法。你可以编辑你的原始文章,包括语法,而不是发表评论。谢谢。我没有将结果导出到excel。我只想标记输出文件中运行的200多个分析,这样我就可以滚动并识别输出文件中的不同迭代,以选择需要汇总的结果。我在此工作流程的任何部分都不使用excel。发布的解决方案也应满足此目的,但为什么提及OMS(通常用于导出结果)?我已更改标题,因为我不使用OMS。我还添加了一个示例,说明了我使用的语法,以及我希望在输出文件中添加的标题类型。我错把它叫做OMS。我试图管理输出文件,但错误地将其标记为OMS,在查看SPSS手册时,我意识到这是为导出结果而设计的一件独立的事情
* Activate the chart template
SET
    TLook='C:\PROGRA~1\IBM\SPSS\STATIS~1\26\Looks\APA_TimesRoma_12pt.stt' 
    Small=0.0001 
    CTemplate='C:\Users\scrip\Desktop\glm-template.sgt' 
    SUMMARY=None 
    THREADS=AUTO 
    TFit=Both 
    DIGITGROUPING=No 
    LEADZERO=No 
    TABLERENDER=light.

* Run your code. For me this is a single General linear model to keep things simple
GLM Q1.5_1 Q1.5_2 BY Group 
    /WSFACTOR=measurement 2 Polynomial 
    /MEASURE= YourCustomName 
    /METHOD=SSTYPE(3) 
    /PLOT=PROFILE(measurement*Group) TYPE=LINE ERRORBAR=NO MEANREFERENCE=NO YAXIS=AUTO 
    /EMMEANS=TABLES(Group*measurement) 
    /PRINT=DESCRIPTIVE OPOWER HOMOGENEITY 
    /CRITERIA=ALPHA(.05) 
    /WSDESIGN=measurement 
    /DESIGN=Group.

* Revert to default chart template
SET 
    TLook='C:\PROGRA~1\IBM\SPSS\STATIS~1\26\Looks\APA_TimesRoma_12pt.stt' 
    Small=0.0001 
    CTemplate=None 
    SUMMARY=None 
    THREADS=AUTO 
    TFit=Both 
    DIGITGROUPING=No 
    LEADZERO=No 
    TABLERENDER=light.