我想对以下模型进行逻辑回归:
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
您有个主意吗?谢谢
答案 0 :(得分:0)
根据“公式”
虽然公式通常只涉及变量和因子名称,但它们 也可以涉及算术表达式。公式log(y)〜a + log(x)非常合法。当此类算术表达式涉及 在模型公式中也象征性使用的运算符 可能会混淆算术运算符和符号运算符的使用。
为避免这种混淆,可以使用函数I()将那些括号括起来 模型公式的部分,其中运算符用于 算术意义。例如,在公式y〜a + I(b + c)中, b + c被解释为b和c之和。
因此,您编写的公式实际上是在要求乘法。由于您想要的是重复操作,因此请删除I()
。