For loop 解决forvalues中不明确的缩写

For loop 解决forvalues中不明确的缩写,for-loop,stata,ambiguous,abbreviation,For Loop,Stata,Ambiguous,Abbreviation,我的变量命名如下: F_1idoXyea_2_1988 F_1idoXyea_2_1989 F_1idoXyea_2_1990 给定代码 forvalues i = 2(1)12 { qui replace F_1idoXyea_`i' = F_1idoXyea_`i'*exp(_b[F_1idoXyea_`i']) } 出现一条错误消息 F_1idoXyea_2 ambiguous abbreviation 有人知道如何解决这个问题吗?使用for values循环不是这个问题的原

我的变量命名如下:

F_1idoXyea_2_1988
F_1idoXyea_2_1989
F_1idoXyea_2_1990
给定代码

forvalues i = 2(1)12 {
    qui replace F_1idoXyea_`i' = F_1idoXyea_`i'*exp(_b[F_1idoXyea_`i'])
}
出现一条错误消息

F_1idoXyea_2 ambiguous abbreviation

有人知道如何解决这个问题吗?

使用
for values
循环不是这个问题的原因。这很简单,因为你有

F_1idoXyea_2_1988
F_1idoXyea_2_1989
F_1idoXyea_2_1990
F\u 1doxyea\u 2
的任何引用都是不明确的。Stata允许使用变量名的缩写(除非禁用),但唯一的清除方法是告诉Stata您指的是哪个变量


在这种家境恶劣的情况下,一切都在进行中。你有三个朋友彼得A,彼得B和彼得C,你开始向一个了解他们的人讲述一个关于彼得的故事。你在说哪个彼得?这是一个公平的问题

使用
forvalues
循环不是此问题的原因。这很简单,因为你有

F_1idoXyea_2_1988
F_1idoXyea_2_1989
F_1idoXyea_2_1990
F\u 1doxyea\u 2
的任何引用都是不明确的。Stata允许使用变量名的缩写(除非禁用),但唯一的清除方法是告诉Stata您指的是哪个变量


在这种家境恶劣的情况下,一切都在进行中。你有三个朋友彼得A,彼得B和彼得C,你开始向一个了解他们的人讲述一个关于彼得的故事。你在说哪个彼得?这是一个公平的问题

关键是我用comand
xi,pre(F_1)I.ido*I.year
创建变量,然后变量名由Stata创建。毫无疑问,但这如何改变问题?如果你想在它们上面循环,那么应该考虑使用通配符,比如
F\u 1idoXyea\u 2\u???
F\u 1idoXyea\u 2*
。重点是我用comand
xi,pre(F\u 1)I.ido*I.year
创建变量,然后变量名由Stata创建。毫无疑问,但这会改变问题吗?如果您想在它们上面循环,那么应该考虑使用通配符,例如
F\u 1idoXyea\u 2\u???
F\u 1idoXyea\u 2*