gretl-虚拟交互

时间:2019-01-15 16:15:14

标签: interaction dummy-variable gretl

在gretl中的虚拟变量之间创建交互项似乎不是一种“简便”的方法(例如在R或python中)。 我们真的需要手动编写很多级别的代码吗?这是手动编码的最小示例:

open credscore.gdt
SelfemplOwnRent=OwnRent*Selfempl
# model 1
ols Acc 0 OwnRent Selfempl SelfemplOwnRent

现在,我的手动交互作用术语不适用于具有多个级别的因子,并且实际上甚至不适用于二进制变量。

谢谢, ML

2 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是使用列表。使用dummify命令为每个级别生成虚拟对象,并使用^操作符来创建交互。示例:

open griliches.gdt

discrete med

list X = dummify(med)
list D = dummify(mrt)
list INT = X^D

ols lw 0 X D INT

命令discrete将变量转换为离散变量并允许使用dummify(如果变量已经是离散变量,则无需执行此步骤)。现在所有交互项都存储在列表INT中,您可以在以下ols命令中轻松评估它们。

答案 1 :(得分:0)

@Markus Loecher关于您的第二个问题: 您始终可以使用rename命令来重命名系列。因此,您必须循环遍历列表INT中的所有元素。但是,如果要使用较短的序列名称,我宁愿建议在计算交互项之前重命名两个输入序列,分别在上面的示例mrtmed中。