在 coefplot 中仅绘制交互项
Plot only interaction terms in coefplot
在 Stata 中进行回归后,我试图仅绘制交互项的系数。
我无法使用 社区贡献 命令 coefplot
执行此操作。
这是一个可重现的例子和我尝试的解决方案:
sysuse auto, clear
reg price foreign i.turn foreign#i.turn
*this plots all coefficients:
coefplot,
*this drops _cons and foreign but not i.turn
coefplot, drop(i.turn _cons foreign )
*variations with keep also do not work
coefplot, keep(foreign#i.turn )
还有其他方法吗?
我已经在 Statalist 上交叉发布了这个问题。
您只需指定交互:
sysuse auto, clear
reg price foreign i.turn foreign#i.turn, coeflegend noheader
local coefinter 1.foreign#33.turn 1.foreign#34.turn 1.foreign#35.turn ///
1.foreign#36.turn 1.foreign#37.turn
coefplot, keep(`coefinter')
编辑:
你还可以得到所有非零系数如下:
sysuse auto, clear
reg price foreign i.turn i.foreign#i.turn, coeflegend noheader
matrix A = e(b)
local namecol "`: colnames A'"
tokenize `namecol'
forvalues i = 1 / `=colsof(matrix(A))' {
local mv = A[1,`i']
if `mv' != 0 & strmatch("``i''" , "*#*") {
local coefinter `coefinter' ``i''
}
}
coefplot, keep(`coefinter')
一种比已经提出的解决方案更简单的解决方案是使用通配符(“*”或“?”)。
sysuse auto, clear
reg price foreign i.turn foreign#i.turn
coefplot, keep(*.foreign#*.turn)
在 Stata 中进行回归后,我试图仅绘制交互项的系数。
我无法使用 社区贡献 命令 coefplot
执行此操作。
这是一个可重现的例子和我尝试的解决方案:
sysuse auto, clear
reg price foreign i.turn foreign#i.turn
*this plots all coefficients:
coefplot,
*this drops _cons and foreign but not i.turn
coefplot, drop(i.turn _cons foreign )
*variations with keep also do not work
coefplot, keep(foreign#i.turn )
还有其他方法吗?
我已经在 Statalist 上交叉发布了这个问题。
您只需指定交互:
sysuse auto, clear
reg price foreign i.turn foreign#i.turn, coeflegend noheader
local coefinter 1.foreign#33.turn 1.foreign#34.turn 1.foreign#35.turn ///
1.foreign#36.turn 1.foreign#37.turn
coefplot, keep(`coefinter')
编辑:
你还可以得到所有非零系数如下:
sysuse auto, clear
reg price foreign i.turn i.foreign#i.turn, coeflegend noheader
matrix A = e(b)
local namecol "`: colnames A'"
tokenize `namecol'
forvalues i = 1 / `=colsof(matrix(A))' {
local mv = A[1,`i']
if `mv' != 0 & strmatch("``i''" , "*#*") {
local coefinter `coefinter' ``i''
}
}
coefplot, keep(`coefinter')
一种比已经提出的解决方案更简单的解决方案是使用通配符(“*”或“?”)。
sysuse auto, clear
reg price foreign i.turn foreign#i.turn
coefplot, keep(*.foreign#*.turn)