我有一些数据与两组不同的病人自动导出的诊断工具。
变量由诊断工具自动指定(例如,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)
发布于 2018-04-15 17:14:08
一个简短的答案是写一个循环和定制输出。
下面是一个可以运行的象征性示例。
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)
} 输出是
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备注:
display。https://stackoverflow.com/questions/49844265
复制相似问题