首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Stata上骑Ranksum

在Stata上骑Ranksum
EN

Stack Overflow用户
提问于 2018-04-15 16:31:25
回答 1查看 365关注 0票数 0

我有一些数据与两组不同的病人自动导出的诊断工具。

变量由诊断工具自动指定(例如,L1DensityWholeImage, L1WholeImageSHemi, L1WholeImageIHemi , L1WholeETDRS ,[...], DeepL2StartLayer, L2Startoffsetum, L2EndLayer, [...], Perimeter, AcircularityIndex )

我必须按组对所有变量(> 80)进行秩和检验(或检验)。

通常,我应该把每一个分析都写成这样:

ranksum L1DensityWholeImage, by(Group)

ranksum L1WholeImageSHemi, by(Group)

ranksum L1WholeImageIHemi, by(Group)

ranksum L1WholeETDRS, by(Group)

是否有任何方法或代码来使用varlist来编写命令?也许只有一个输出结果与所有的p值?

例如:ranksum L1DensityWholeImage L1WholeImageSHemi L1WholeImageIHemi L1WholeETDRS, DeepL2StartLayer L2Startoffsetum L2EndLayer Perimeter AcircularityIndex, by(Group)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-15 17:14:08

一个简短的答案是写一个循环和定制输出。

下面是一个可以运行的象征性示例。

代码语言:javascript
复制
sysuse auto, clear 

foreach v of var mpg price weight length displacement { 
    quietly ranksum `v', by(foreign) porder 
    scalar pval = 2*normprob(-abs(r(z)))
    di "`v'{col 14}" %05.3f pval " " %6.4e pval  "   " %05.3f r(porder) 
} 

输出是

代码语言:javascript
复制
mpg          0.002  1.9e-03   0.271
price        0.298  3.0e-01   0.423
weight       0.000  3.8e-07   0.875
length       0.000  9.4e-07   0.862
displacement 0.000  1.1e-08   0.921

备注:

  1. 如果变量名称更长,它们将需要更多的空间。
  2. 在小数位数固定的情况下显示P值不会为所有显示的数字都为零的情况做好准备。代码举例说明了两种形式的输出。
  3. 第一组的数值超过第二组的数值的概率对解释非常有帮助。还可以增加进一步的汇总统计数字。
  4. 当然,一个体面的表需要更多的头行,最好使用display
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49844265

复制
相关文章

相似问题

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