为什么我会收到“无效名称”(参见最后一行)?
tempname vector
postfile `vector' beta_lag beta_const ///
se_mvalue se_const ///
using vettore, replace
xtreg Perf lag if t>=396 & t<=408
post `vector' (_b[lag]) (_b[_cons]) ///
(_se[lag]) (_se[_cons])
结果:
. (regression is ok, omitted result...)
. post `vector' (_b[lag]) (_b[_cons]) (_se[lag]) (_se[_cons])
( invalid name
提前谢谢
答案 0 :(得分:0)
与断言相反,你所做的事情并不明显。此代码段说明了技术,您应该能够无错误地重现其运行。
webuse nlswork, clear
xtset idcode
tempname myout
postfile `myout' constant grade age using myout.dta
xtreg ln_w grade age
post `myout' (_b[_cons]) (_b[grade]) (_b[age])
postclose `myout'
describe using myout
该示例显示,如果有任何疑问,使用_b[_cons]
等表达式就可以了。
我的猜想仍然是post
命令无法看到你的例子中的tempname(vector
),因此将其评估为空字符串。它检测到的第一个令牌是第一个(
,它不能成为可接受的文件句柄的一部分,所以它会抱怨。
如果您在其他语言环境中定义tempname
,则可能会出现此问题。例如,可以是部分代码在主交互式会话中运行,部分代码来自do-file或do-file编辑器。也可能是您选择要在部分中运行的代码(例如,选择单独的行并单独运行它们)。