首页 文章

从因子变量和连续变量创建一组连续变量

提问于
浏览
1

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

我可以使用 tabulate state, generate (state) 生成50个状态的假人,但我不知道如何在不写一行来创建每个州的年份变量的情况下更进一步 .

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

1 回答

  • 2

    您可以尝试使用 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......Interaction expansion . )

相关问题