首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环列以对每个列执行分析

循环列以对每个列执行分析
EN

Stack Overflow用户
提问于 2021-03-31 21:57:02
回答 1查看 31关注 0票数 1

我有超过338列,每列都有不同的药物名称。我想做的是使用代码遍历所有列。这个代码是针对一种特定药物的。问题是我有338个不同的药物名称。代码是:

代码语言:javascript
复制
NPTESTS 
/INDEPENDENT TEST (PLIN3 CYFIP2 IL2RA HSD3B1 IL2RB PYROXD1 ZBED4 MCTP1 LAMA3 CTSC EDEM1 LIF PIM3 
    PPARA SLC6A11 THNSL2 ZNF697) GROUP (drug_1) MANN_WHITNEY KRUSKAL_WALLIS(COMPARE=PAIRWISE) 
  /MISSING SCOPE=ANALYSIS USERMISSING=EXCLUDE
  /CRITERIA ALPHA=0.05  CILEVEL=95

有没有什么方法可以遍历这些列并执行测试,而不用一遍又一遍地运行代码块?

EN

回答 1

Stack Overflow用户

发布于 2021-04-01 01:23:15

您可以尝试的一件事是将文件重组为长格式,以便所有药物都在一列中,然后您可以通过拆分文件一次对parallele中的所有药物运行测试:

代码语言:javascript
复制
varstocases /make drugval from drug_1 to drug_338/index=drugname(drugval).
sort cases by drugname.
split file by drugname.
*now your code .
NPTESTS 
/INDEPENDENT TEST (PLIN3 CYFIP2 IL2RA HSD3B1 IL2RB PYROXD1 ZBED4 MCTP1 LAMA3 CTSC EDEM1 LIF PIM3 
    PPARA SLC6A11 THNSL2 ZNF697) GROUP (drugval) MANN_WHITNEY KRUSKAL_WALLIS(COMPARE=PAIRWISE) 
  /MISSING SCOPE=ANALYSIS USERMISSING=EXCLUDE
  /CRITERIA ALPHA=0.05  CILEVEL=95.
split file off.

或者,您可以使用SPSS宏遍历所有药物并逐个测试它们:

代码语言:javascript
复制
define testdrugs ()
!do !drg=1 !to 338
NPTESTS 
/INDEPENDENT TEST (PLIN3 CYFIP2 IL2RA HSD3B1 IL2RB PYROXD1 ZBED4 MCTP1 LAMA3 CTSC EDEM1 LIF PIM3 
    PPARA SLC6A11 THNSL2 ZNF697) GROUP !concat("(drug_", !drg, ")") MANN_WHITNEY KRUSKAL_WALLIS(COMPARE=PAIRWISE) 
  /MISSING SCOPE=ANALYSIS USERMISSING=EXCLUDE
  /CRITERIA ALPHA=0.05  CILEVEL=95
!doend
!enddefine.
* the macro is defined, now we can call it.
testdrugs .
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66889280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档