SAS中文论坛
标题:
proc reg输出问题
[打印本页]
作者:
shiyiming
时间:
2010-3-3 14:45
标题:
proc reg输出问题
我把proc reg的结果用ods输出parameter部分,得到:
variable estimate tvalue
intercept 0.004 1.45
var1 0.05 1.66
var2 0.34 1.98
var3 1.09 2.56
.......
我想将显示结果变为:
variable estimate
intercept 0.004
(1.45)
var1 0.05
(1.66*)
var2 0.34
(1.98**)
var3 1.09
(2.56***)
.......
其中pvalue<0.001是***,<0.05是**,<0.10是*,不过输出的是tvalue。
我实际上有十几个variable,直接输出手动改太费时间了,请问有什么简单的办法吗?
作者:
shiyiming
时间:
2010-3-7 11:57
标题:
Re: proc reg输出问题
[code:3lk13qv7]ODS OUTPUT ParameterEstimates = pe;
proc reg data;
model Y = var:;
run;
ODS OUTPUT CLEAR;
PROC FORMAT;
VALUE ProbtFmt
0 -< 0.001 = '***'
0.001 -< 0.05 = '**'
0.05 -< 0.10 = '*'
OTHER = ' ';
RUN;
DATA pe_1(RENAME = (Estimate_1 = Estimate));
SET pe;
Estimate_1 = CATS(PUT(Estimate, 10.3), '(', PUT(tValue, 10.2), PUT(Probt, ProbtFmt.),')');
KEEP VARIABLE Estimate_1;
RUN;[/code:3lk13qv7]
尽量不要手改。
作者:
shiyiming
时间:
2010-3-8 16:15
标题:
Re: proc reg输出问题
太牛了,我折腾了半天搞出来的比你这个复杂多了,景仰一下!!!
作者:
shiyiming
时间:
2010-3-8 16:23
标题:
Re: proc reg输出问题
这个code里面是把estimate和tvalue放在同一行里面了,有办法能分开两行放么?
variables estimate
intercept 1.78
intercept (2.58***)
var1 0.05
var1 (1.98**)
大概这个样子。
作者:
shiyiming
时间:
2010-3-8 21:58
标题:
Re: proc reg输出问题
[code:zs4074d1]DATA pe_1(RENAME = (Estimate_1 = Estimate));
SET pe;
LENGTH Estimate_1 $ 15;
Estimate_1 = PUT(Estimate, 8.3);
OUTPUT;
Estimate_1 = CATS('(', PUT(tValue, 8.2), PUT(Probt, ProbtFmt.),')');
OUTPUT;
KEEP VARIABLE Estimate_1;
RUN;[/code:zs4074d1]
欢迎光临 SAS中文论坛 (http://www.mysas.net/forum/)
Powered by Discuz! X3.2