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

时间:2014-05-10 01:33:44

标签: stata

在Stata中,我有一个50级(state)因子变量和一个整数值变量(year)。我想创建50个新变量:state指标与year变量的50次互动。有没有办法在不编写50行代码的情况下执行此操作?

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

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

1 个答案:

答案 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 ......互动扩展。)