Hello There,
I am currently trying to transpose my regression results (i.e having one model in a row instead of a column) and output it into Latex, adding SE in parentheses and Pvalue in bracket. We're not trying to indicate significant coeff using stars and instead trying to add columns of p values for each coefficient next to the column of S.E.
The trasponse program I am using is:
cap prog drop transpose
prog def transpose
matrix C = r(coefs)
matrix S = r(stats)
eststo clear
local rnames : rownames C
local models : coleq C
local models : list uniq models
local i 0
foreach name of local rnames {
local ++i
local j 0
capture matrix drop b
capture matrix drop se
foreach model of local models {
local ++j
matrix tmp = C[`i', 2*`j'-1]
if tmp[1,1]<. {
matrix colnames tmp = `model'
matrix b = nullmat(b), tmp
matrix tmp[1,1] = C[`i', 2*`j']
matrix se = nullmat(se), tmp
}
}
ereturn post b
quietly estadd matrix se
eststo `name'
}
local snames : rownames S
local i 0
foreach name of local snames {
local ++i
local j 0
capture matrix drop b
foreach model of local models {
local ++j
matrix tmp = S[`i', `j']
matrix colnames tmp = `model'
matrix b = nullmat(b), tmp
}
ereturn post b
eststo `name'
}
end
My regression code is:
est clear
foreach y of global outcomes {
reg `y' msg1 msg2 msg3, r
sum `y' if e(sample) == 1 & msg4==1
local mean = r(mean)
eststo `y': reg `y' msg1 msg2 msg3, r
test msg1= msg2
estadd scalar test1 = r(p)
test msg2= msg3
estadd scalar test2 = r(p)
test msg1= msg3
estadd scalar test3 = r(p)
estadd local empty " "
estadd scalar ymean = `mean'
}
esttab, cells(b(fmt(%8.3f)) se(par(`" ("' `")"') fmt(%8.3f)) p(fmt(%8.3f) par(`" ["' `"]"'))) nostar ///
stats(test1 test2 test3 ymean N) ///
keep(msg1 msg2 msg3 ) ///
order(msg1 msg2 msg3)
transpose
esttab using "$tables/latex/reg_table.tex" ///
, b(%16.3f) se(%16.3f) p(%16.3f) noobs compress nonumb collabels(none) ///
nonotes nogaps replace ${refcatall} wide ///
nostar ///
nomtitles prehead(%) posthead(%) ///
varlabel($labelvars) fragment
When I run this, I receive an error message:
only one allowed of z, se, p, ci, and aux()
r(198);
I tried to add a matrix for pvalue in the tranpose program but failed to fix the error. I would greatly appreciate if anyone knows how to add columns of "pvalues" in bracket (e.g. [0.001]) next to the column of s.e. for each coefficient! Thank you!
Related Posts with Transpose regression table, adding S.E. and P value
Frequency distribution, what's missing? (beginner question)Beginner trying to learn Stata. I am assigned to construct a relative frequency table based on place…
Reghdfe: Test coefficients of absorbed FEs after using reghdfeHello Statalist users, I am trying to test the statistical significance of coefficients of absorbed…
Regarding GEE analysisHi, Apologies in advance if the question is too silly. I have never worked with a longitudinal dat…
Graph for parallel trendDear Stata users, Using a panel data collected during the years 2011, 2013, and 2015, I am trying t…
regular expression?Dear All, How can I use regular expression to separate the following data Code: clear input float s…
Subscribe to:
Post Comments (Atom)
0 Response to Transpose regression table, adding S.E. and P value
Post a Comment