似乎没有一种“简单”的方法(比如在R或python中)来在gretl中的虚拟变量之间创建交互项?我们真的需要手动编写这些代码吗?这对于许多级别来说都是困难的。下面是一个手动编码的最小示例:
open credscore.gdt
SelfemplOwnRent=OwnRent*Selfempl
# model 1
ols Acc 0 OwnRent Selfempl SelfemplOwnRent现在,我的手动交互项将不适用于具有多个级别的因子,事实上,甚至不适用于二元变量。
谢谢,ML
发布于 2019-01-18 17:25:32
实现这一点的一种方法是使用列表。使用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-command中轻松地对它们进行评估。
发布于 2020-03-09 01:56:15
@Markus Loecher关于您的第二个问题:您可以始终使用rename命令来重命名系列。因此,您必须遍历list INT中的所有元素才能做到这一点。但是,如果您想要更短的系列名称,我建议在计算交互项之前将两个输入系列分别重命名为mrt和med。
https://stackoverflow.com/questions/54202760
复制相似问题