Stata 斯塔塔自行车俱乐部
我有一些从诊断工具自动导出的两组不同患者的数据 变量由诊断工具自动指定(例如,Stata 斯塔塔自行车俱乐部,stata,Stata,我有一些从诊断工具自动导出的两组不同患者的数据 变量由诊断工具自动指定(例如,l1densititywholeimage、L1WholeImageSHemi、l1wholeimagehemi、L1WholeETDRS、[…]、DeepL2StartLayer、L2Startoffsetum、L2EndLayer、[…]、周长、曲率指数) 我必须按组对所有变量(>80)进行秩和检验(或Mann-Whitney U检验) 通常,我应该这样写每个分析: ranksum L1DensityWholeIm
l1densititywholeimage、L1WholeImageSHemi、l1wholeimagehemi、L1WholeETDRS、[…]、DeepL2StartLayer、L2Startoffsetum、L2EndLayer、[…]、周长、曲率指数
)
我必须按组对所有变量(>80)进行秩和检验(或Mann-Whitney U检验)
通常,我应该这样写每个分析:
ranksum L1DensityWholeImageby(集团)
ranksum L1WholeImageSHemi,由(集团)
ranksum L1wholeimagehemi,由(集团)
ranksum L1WholeETDRS,按(集团)
是否有任何方法或代码可以使用varlist编写命令?可能只得到一个输出结果和所有的p值
e、 g.:
ranksum L1 DensityWholeImageL1WholeImageShemi L1WholeImageHemi L1WholeETDRS,DeepL2StartLayer L2Startoffsetum L2EndLayer周长循环指数,由(组)
一个简短的答案是编写一个循环并定制输出
下面是一个您可以运行的令牌示例
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
谢谢你的回复!太完美了!请注意,在较新版本的Stata(7+)中,
normprob()
已替换为normal()
。normprob()
仍适用于Stata 15。你指的只是一个修饰性的更名,让名字更加一致。你好,尼克·考克斯!谢谢你的帮助。我正试图修改你的代码,但我有一些问题。我已经设置了varlist和group变量。我还更改了“col”选项以适合我的varname。我想增加每组的观察次数(r(n1)-r(n2)),并在结果列表上加上一些“标题”(例如P值、PValue2、Porder-Observ.group1-Observ.group2)。我正在研究“显示”功能,但我想不出一个解决方案…你能帮我吗?谢谢你好,尼克·考克斯!谢谢您的帮助。@Giuseped'AmicoRicci请提出一个新问题,交叉引用此问题,或在此处编辑此问题,添加新材料,保留原始问题不变。请注意,display
是一个命令,而不是一个函数。