【问题标题】:create a set of continuous variables from a factor variable and a continuous variable从一个因子变量和一个连续变量创建一组连续变量
【发布时间】:2014-05-10 10:55:37
【问题描述】:

在 Stata 中,我有一个具有 50 个级别的因子变量 (state) 和一个整数值变量 (year)。我想创建 50 个新变量:state 指标与 year 变量的 50 个交互。有没有办法不用写 50 行代码就能做到这一点?

我可以使用 tabulate state, generate (state) 生成 50 个州假人,但如果不写一行来创建每个州年变量,我不知道如何做得更远。

我想在回归中使用新的州年变量。 Stata 的因子表示法可以轻松地将州年变量包含为回归量,而无需事先创建它们(例如,使用 regress y i.state#c.year 之类的命令),但一些附加函数不支持因子表示法。

【问题讨论】:

    标签: stata


    【解决方案1】:

    您可以尝试使用xi,既可以作为创建指标和交互项的独立命令,也可以作为命令前缀。一个荒谬的例子:

    clear all
    set more off
    
    sysuse auto
    
    * stand-alone
    xi i.rep78*mpg
    
    * as prefix
    xi: regress price i.rep78*mpg
    

    运行help xi 了解所有详细信息。

    编辑

    为了更清楚一点,假设regress 命令不承认使用因子变量表示法xi: 前缀。然后使用 xi 独立语法,您可以创建指标和交互术语(回答您的原始问题),然后将这些术语与 regress 命令一起使用:

    sysuse auto, clear
    
    xi i.rep78*mpg
    regress price mpg _Irep78* _IrepXmpg*
    

    (记得使用 Stata 的帮助功能。例如,运行 search interactions 会引导您xi......交互扩展。)

    【讨论】:

    • 谢谢——我在某些情况下成功使用了xi。但它对我正在使用的特定附加功能(ivreg2)没有帮助,它没有帮助。我仍然收到 r(101) 类型的错误消息:“不允许使用因子变量和时间序列运算符。”
    • 没错。并非所有命令都使用 xi: 前缀,但您可以使用独立语法来创建交互,然后将它们提供给相关命令。
    猜你喜欢
    • 1970-01-01
    • 2022-08-04
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多