在Stata中,我有一个50级(state
)因子变量和一个整数值变量(year
)。我想创建50个新变量:state
指标与year
变量的50次互动。有没有办法在不编写50行代码的情况下执行此操作?
我可以使用tabulate state, generate (state)
生成50个状态虚拟变量,但我不知道如何在不写一行来创建每个州的年变量的情况下进一步发展。
我想在回归中使用新的州 - 年变量。 Stata的因子表示法可以很容易地将状态年变量包含为回归量而无需事先创建它们(例如,使用类似regress y i.state#c.year
的命令),但某些附加函数不支持因子表示法。
答案 0 :(得分: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 ......互动扩展。)