【问题标题】:Resolving ambiguous abbreviations in forvalues解决 forvalues 中的歧义缩写
【发布时间】:2016-11-01 22:51:05
【问题描述】:

我的变量命名如下:

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-loop stata ambiguous abbreviation


    【解决方案1】:

    forvalues 循环的使用不是导致此问题的原因。这很简单:假设你有

    F_1idoXyea_2_1988
    F_1idoXyea_2_1989
    F_1idoXyea_2_1990
    

    任何对F_1idoXyea_2 的引用都是模棱两可的。 Stata 允许使用缩写的变量名(除非禁用),但清除它的唯一方法是告诉 Stata 您指的是哪个变量。

    在这种家常的情况下,它是四肢着地。你有三个朋友彼得 A、彼得 B 和彼得 C,你开始向一个认识他们的人讲述一个关于彼得的故事。你说的是哪个彼得?那么这是一个公平的问题。

    【讨论】:

    • 重点是我用命令xi, pre(F_1) i.ido*i.year创建变量,然后变量名由Stata创建。
    • 毫无疑问,但这如何改变问题?如果您想遍历它们,则应考虑使用通配符,例如 F_1idoXyea_2_????F_1idoXyea_2*
    猜你喜欢
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多