首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gretl -虚拟交互

gretl -虚拟交互
EN

Stack Overflow用户
提问于 2019-01-16 00:15:14
回答 2查看 439关注 0票数 0

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

代码语言:javascript
复制
open credscore.gdt
SelfemplOwnRent=OwnRent*Selfempl
# model 1
ols Acc 0 OwnRent Selfempl SelfemplOwnRent

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

谢谢,ML

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-18 17:25:32

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

代码语言:javascript
复制
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中轻松地对它们进行评估。

票数 1
EN

Stack Overflow用户

发布于 2020-03-09 01:56:15

@Markus Loecher关于您的第二个问题:您可以始终使用rename命令来重命名系列。因此,您必须遍历list INT中的所有元素才能做到这一点。但是,如果您想要更短的系列名称,我建议在计算交互项之前将两个输入系列分别重命名为mrtmed

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54202760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档