显示 ranksum 的结果
Displaying results from ranksum
我正在尝试修改@Nick Cox 在我的 中发布的代码,但我遇到了一些问题。
我已经设置了 varlist
和组变量。我还更改了 col
选项以适合我的 varname
。我想添加每个组的观察次数 r(N 1)
/ r(N 2)
并在结果列表中添加一些 "titles".
我正在尝试研究 display
命令,但我找不到解决方案。
我的代码如下:
foreach v of var BVCAlogMAR AvgSSI L1DensityWholeImage {
quietly ranksum `v', by(G6PDcarente) porder
scalar pval = 2*normprob(-abs(r(z)))
di "`v'{col 34}" %05.3f pval " " %6.4e pval " " %05.3f r(porder) ///
" " %05.3f r(N 1) " " %05.3f r(N 2)
}
我无法将 r(N 1)
和 r(N 2)
的值放入结果列表中。此外,我不知道如何显示具有以下标题的列 header:
P-Value, PValue2, Porder- Observ. group 1 - Observ. group 2
你能帮帮我吗?
您将 r(N_1)
和 r(N_2)
分别错误地称为 r(N 1)
和 r(N 2)
。
在您之前 post 提供的玩具示例中,我已更正了这个错误,并在 bold 中插入了另外六行,以实现您想要的效果:
sysuse auto, clear
local i = 0
foreach v of var mpg price weight length displacement {
local ++i
quietly ranksum `v', by(foreign) porder
scalar pval = 2*normprob(-abs(r(z)))
if `i' == 1 {
display %20s "P-Value", %5s "PValue2", %5s "Porder1", %5s "group 1", %5s "group 2"
display ""
}
display "`v'{col 14}" %05.3f pval " " %6.4e pval " " %05.3f r(porder) ///
" " %05.3f r(N_1) " " %05.3f r(N_2)
}
第一个 display
命令充当 header,但您必须调整这些值以获得所需的间距。第二个只是添加一个空行。
计数器宏 i
仅在 for
循环的第一步中用于 display
header 和空行,而不是为每个变量重复。
结果如下图所示:
P-Value PValue2 Porder1 group 1 group 2
mpg 0.002 1.9e-03 0.271 52.000 22.000
price 0.298 3.0e-01 0.423 52.000 22.000
weight 0.000 3.8e-07 0.875 52.000 22.000
length 0.000 9.4e-07 0.862 52.000 22.000
displacement 0.000 1.1e-08 0.921 52.000 22.000
有关使用 display
命令输出格式的更多信息,请在 Stata 的命令提示符中键入 help format
。
我正在尝试修改@Nick Cox 在我的
我已经设置了 varlist
和组变量。我还更改了 col
选项以适合我的 varname
。我想添加每个组的观察次数 r(N 1)
/ r(N 2)
并在结果列表中添加一些 "titles".
我正在尝试研究 display
命令,但我找不到解决方案。
我的代码如下:
foreach v of var BVCAlogMAR AvgSSI L1DensityWholeImage {
quietly ranksum `v', by(G6PDcarente) porder
scalar pval = 2*normprob(-abs(r(z)))
di "`v'{col 34}" %05.3f pval " " %6.4e pval " " %05.3f r(porder) ///
" " %05.3f r(N 1) " " %05.3f r(N 2)
}
我无法将 r(N 1)
和 r(N 2)
的值放入结果列表中。此外,我不知道如何显示具有以下标题的列 header:
P-Value, PValue2, Porder- Observ. group 1 - Observ. group 2
你能帮帮我吗?
您将 r(N_1)
和 r(N_2)
分别错误地称为 r(N 1)
和 r(N 2)
。
在您之前 post 提供的玩具示例中,我已更正了这个错误,并在 bold 中插入了另外六行,以实现您想要的效果:
sysuse auto, clear local i = 0 foreach v of var mpg price weight length displacement { local ++i quietly ranksum `v', by(foreign) porder scalar pval = 2*normprob(-abs(r(z))) if `i' == 1 { display %20s "P-Value", %5s "PValue2", %5s "Porder1", %5s "group 1", %5s "group 2" display "" } display "`v'{col 14}" %05.3f pval " " %6.4e pval " " %05.3f r(porder) /// " " %05.3f r(N_1) " " %05.3f r(N_2) }
第一个 display
命令充当 header,但您必须调整这些值以获得所需的间距。第二个只是添加一个空行。
计数器宏 i
仅在 for
循环的第一步中用于 display
header 和空行,而不是为每个变量重复。
结果如下图所示:
P-Value PValue2 Porder1 group 1 group 2
mpg 0.002 1.9e-03 0.271 52.000 22.000
price 0.298 3.0e-01 0.423 52.000 22.000
weight 0.000 3.8e-07 0.875 52.000 22.000
length 0.000 9.4e-07 0.862 52.000 22.000
displacement 0.000 1.1e-08 0.921 52.000 22.000
有关使用 display
命令输出格式的更多信息,请在 Stata 的命令提示符中键入 help format
。