0

I'm trying to run a glm in R but it results me with an error I can't figure it out how to solve:

> 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"

Any help is useful

K.Dᴀᴠɪs
  • 9,945
  • 11
  • 33
  • 43
  • 1
    Welcome to StackOverflow. See how to make a [great reproducible example](https://stackoverflow.com/a/5963610/2359523). – Anonymous coward Nov 21 '18 at 16:20
  • 3
    Do you have spaces in your column names" When you have `+ CA _100 +` that's not valid because of the space between the CA and _. R can't parse such a value. You'd have to surround those values in backticks. What exactly does `names(bats_araucania_500)` return? – MrFlick Nov 21 '18 at 16:23
  • as general points: that looks like a lot of covariates to be regressing against. you'll probably want to remove quite a few of them. also regressing `log(Y+1)` against `Y` looks very *unusual*, are you sure you want to be doing that?! – Sam Mason Nov 21 '18 at 22:19

1 Answers1

0

R can not handle column names with space: CA _210. Try to wrap these columns between two ` (backticks) or rename your columns without spaces.

FYI : If you are using all columns as predictors, you can write your code this way: glm(log(y+1) ~ . , nextargs...)

emsinko
  • 171
  • 1
  • 6