【发布时间】:2016-06-07 19:12:59
【问题描述】:
根据下面的 SPSS 文档链接,我了解到 !REPLACE 不是使用 DEFINE - !ENDDEFINE 的有效字符串操作函数。当然,必须有一个解决方法......或者使用其他字符串操作函数,或者我认为更有可能是另一种方法。对于这种问题,你们过去看到了什么?谢谢!
具体问题:
用户输入宏变量名称 (vars)
1)需要按指定组(groupVars)进行平均,
2) 然后 Zscored
3) 和他们的 Zscores 由同一组平均。
当 Zscored 时,新的变量名是 "Z" + orig var name。所以我想在我的 vars 列表中用“z”替换“”,并用 !CONC 将 z 放在开头。问题是这里的字符串操作函数似乎不允许 !REPLACE。
示例代码:
DEFINE !RunProfiles (vars=!CHAREND ('/') /groupVars =!CMDEND)
*GET MEANS FOR EACH GROUPVAR FOR SPECIFIED VARIABLES.
!DO !I !IN (!groupVars)
means tables=!vars by !I / cells mean.
!DOEND
*GET ZSCORES FOR SPECIFIED VARS.
DESCRIPTIVES VARIABLES=!profvars
/SAVE
/STATISTICS=MEAN.
*GET Z MEANS FOR EACH SEGMENT FOR SPECIFIED VARIABLES.
!DO !I !IN (!groupVars)
!LET Zvars = !CONC("z", !REPLACE(!vars, " ", " z"))
means tables=!Zvars by !I / cells mean.
!DOEND
!ENDDEFINE.
这是有问题的行:!LET Zvars = !CONC("z", !REPLACE(!vars, " ", "z"))
【问题讨论】:
标签: string replace macros spss