首页 > 解决方案 > 为什么 glm 在这个函数上输入错误

问题描述

我正在尝试在 R 中运行 glm,但它导致我出现错误,我无法弄清楚如何解决:

> GLM.3 <- glm(log(Total_Pass + 1) ~ Total_Pass + Total_Buzz + dm_plant + dm_cdeagua + dm_cultivo + dm_humed + dm_bnativ + dm_snaspe + Cultivos + BosqNat + Plantac + Pastizal + Matorral + Humedal + C_agua + Sup_imper + Tie_desnud + hielo + alt_media + pend_media + Temp_media + PP_media + CA _100 + PLAND _100 + PD _100 + ED _100 + AREA_MN _100 + ENN_MN_100 + CA _210 + PLAND _210 + PD _210 + ED _210 + AREA_MN _210 + ENN_MN_210 + CA _600 + PLAND _600 + PD _600 + ED _600 + AREA_MN _600 + ENN_MN_600 + SHDI + SIDI + MSIDI + SHEI + SIEI + MSIEI, family=gaussian(identity), data=bats_araucania_500)
Error: unexpected input in "Total_Pass + Total_Buzz + dm_plant + dm_cdeagua + dm_cultivo + dm_humed + dm_bnativ + dm_snaspe + Cultivos + BosqNat + Plantac + Pastizal + Matorral + Humedal + C_agua + Sup_imper + Tie_desnud"

任何帮助都是有用的

标签: rglm

解决方案


R 无法处理带有空格的列名:CA _210。尝试将这些列包装在两个 `(反引号)之间或重命名您的列而不使用空格。

仅供参考:如果您使用所有列作为预测变量,您可以这样编写代码:glm(log(y+1) ~ . , nextargs...)


推荐阅读