为不同的参数值重复SPSS宏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为不同的参数值重复SPSS宏相关的知识,希望对你有一定的参考价值。
嗨,我是SPSS宏的初学者。我想知道人们是否可以告诉我是否可以使用宏在if语句中使用参数
DEFINE !calc_spells (procedure = !TOKENS(1)).
*** Get the file.
get file ='C:UsersmycomputerDocumentsfile.sav'.
compute proc=0.
do repeat a=op1a to op4b.
if any(substr(a,1,4), !procedure) proc=1.
end repeat.
execute.
select if proc=1.
execute.
string procedure(a4).
compute procedure=!procedure.
*** aggregate file.
aggregate outfile=*
/break year procedure
/median_cost median_stay = median(cost_spell_total_net total_stay)
/number_of_spells = n.
save outfile=!path_output + !QUOTE(!CONCAT(!procedure, '_output.sav')).
!enddefine.
!calc_spells procedure = A021.
!calc_spells procedure = A024.
基本上我想知道是否可以为不同的过程代码重复此宏,而不是每次运行时手动更改代码?看来我的代码没有工作,因为我根本没有任何案件?
答案
要让宏运行procedure
的几个值,您可以使用宏循环:
DEFINE !calc_spells (procedureList = !cmdend).
!do !procedure !in (!procedureList)
...
[your original macro content]
...
!doend
!enddefine.
!calc_spells procedureList = A021 A024 A025 A026.
以上是关于为不同的参数值重复SPSS宏的主要内容,如果未能解决你的问题,请参考以下文章