GLM在一个数字变量和一个类别变量的乘积上回归的问题

时间:2018-11-29 10:09:43

标签: r glm

我想对以下模型进行逻辑回归:

regression <- Y ~ 
netSales + size + CashAssetRatio + FRNG + 
  I(insolvency * countryCode)

使用以下代码:

tbmodel <- glm(regression, data=trainSplit, 
               weights=NULL, binomial(link = "logit"), 
           na.action=na.omit) 
###### REPRENDRE ICI APRES PAUSE

但是,当我计算回归时,出现以下错误:

  

contrasts<-*tmp*中的错误,值= contr.funs [1 + isOF [nn]]):   对比新的贴花作品   moins deux niveaux另外:警告消息:在   Ops.factor(insolvency,countryIsoCode):“ *”对   因素

事实是我不知道它来自哪里,因为我的变量countryCode是一个超过2个级别的因子,并且我没有NA。以下是一些数据:

             countryCode insolvency  netSales Y size CashAssetRatio         FRNG
47091             FR       0.0491 -0.04042249 0  2       1.123095       -0.001679786
24460             IT       0.0115 -0.04343820 0  1       1.078720       -0.001130815
11921             FR       0.0029 -0.04227984 0  2       1.076595       -0.001097954
1657              FR       0.0016 -0.04242885 0  2       1.075237       -0.001075071
37572             IT       0.0006 -0.04355702 0  1       1.077884       -0.001122143
8155              FR       0.0270 -0.04058710 0  2       1.076638       -0.001067854

您有个主意吗?谢谢

1 个答案:

答案 0 :(得分:0)

根据“公式”

  

虽然公式通常只涉及变量和因子名称,但它们   也可以涉及算术表达式。公式log(y)〜a +   log(x)非常合法。当此类算术表达式涉及   在模型公式中也象征性使用的运算符   可能会混淆算术运算符和符号运算符的使用。

     

为避免这种混淆,可以使用函数I()将那些括号括起来   模型公式的部分,其中运算符用于   算术意义。例如,在公式y〜a + I(b + c)中,   b + c被解释为b和c之和。

因此,您编写的公式实际上是在要求乘法。由于您想要的是重复操作,因此请删除I()