0

似乎没有一种“简单”的方式(例如在 R 或 python 中)在 gretl 中创建虚拟变量之间的交互项?我们真的需要手动编写对许多级别来说都很难的代码吗?这是手动编码的最小示例:

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

现在我的手动交互项不适用于具有多个级别的因素,实际上甚至不适用于二元变量。

谢谢,ML

4

2 回答 2

1

一种方法是使用列表。使用dummify-command 为每个级别生成虚拟对象,使用^-operator 创建交互。例子:

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命令中轻松评估它们。

于 2019-01-18T09:25:32.143 回答
0

@Markus Loecher 关于您的第二个问题:您始终可以使用该rename命令重命名系列。因此,您必须遍历列表 INT 中的所有元素才能这样做。但是,如果您想要更短的系列名称,我宁愿建议在计算交互项之前分别重命名上述示例mrt中的两个输入系列。med

于 2020-03-08T17:56:14.707 回答