Ошибка в lm.fit (x, y, offset = offset, singular.ok = singular.ok, ...): NA / NaN / Inf в 'x', но нет пропущенных значений - PullRequest
1 голос
/ 06 августа 2020

Я работаю над выполнением линейной регрессии для данных, которые я разделил на обучение, проверку и тестирование. У меня возникла проблема, когда я запускаю lm, я получаю сообщение об ошибке

Ошибка в lm.fit (x, y, offset = offset, singular.ok = singular.ok, .. .): NA / NaN / Inf in 'x'.

Я просмотрел другие сообщения и попробовал несколько вещей, но это все еще не работает.

Вот модель .

test_model <- lm(CVD ~ Exp_RFEI_2 + Low_Access + Gini_Index + Median_Income, data=test, NaRV.omit(Exp_RFEI_2))

Я удалил недостающие значения и дважды проверил с помощью

missing <- FINAL_df[!complete.cases(FINAL_df),]

Я также добавил NaRV.omit() для обработки любых Na/NaN/Inf, но все равно получаю сообщение об ошибке. Я заметил, что если я изменю степень разделения (например, 80-10-10 против 75-15-15) или set.seed, он изменится там, где возникает ошибка. Это означает, что в зависимости от условия ошибка может быть в действительном списке или в списке тестов. Так что я знаю, что дело в данных, а не в коде. Кажется, мне не хватает чего-то очень простого!

Вот пример данных.

structure(list(FIPS = "01001", State = "AL", County = "Autauga", 
    LACCESS_LOWI15 = 6543.67682386602, PCT_LACCESS_LOWI15 = 11.9911250002126, 
    FMRKT16 = 1, GROC14 = 4, SUPERC14 = 1, CONVS14 = 30, SPECS14 = 2, 
    FFR14 = 36, Value = 517.4, MILK_SODA_PRICE10 = 0.9232891, 
    PCT_SNAP16 = 16.9764357535007, `Estimate!!Gini Index` = 0.4227, 
    `Margin of Error!!Gini Index` = 0.0175, PCT_NHWHITE10 = 77.2461563834271, 
    PCT_NHBLACK10 = 17.5825988162211, PCT_HISP10 = 2.40054241263675, 
    PCT_NHASIAN10 = 0.855765882978138, PCT_NHNA10 = 0.397647101940591, 
    PCT_NHPI10 = 0.0403144527313042, PCT_65OLDER10 = 11.9953821626871, 
    PCT_18YOUNGER10 = 26.7779589892067, MEDHHINC15 = 56580, RFEI = 16.5, 
    Exp_RFEI_1 = 9.57142857142857, Exp_RFEI_2 = 8.25), row.names = c(NA, 
-1L), class = c("tbl_df", "tbl", "data.frame"), na.action = structure(c(`68` = 68L, 
`69` = 69L, `70` = 70L, `71` = 71L, `72` = 72L, `73` = 73L, `74` = 74L, 
`75` = 75L, `76` = 76L, `77` = 77L, `78` = 78L, `79` = 79L, `80` = 80L, 
`81` = 81L, `82` = 82L, `83` = 83L, `84` = 84L, `85` = 85L, `86` = 86L, 
`87` = 87L, `88` = 88L, `89` = 89L, `90` = 90L, `91` = 91L, `92` = 92L, 
`93` = 93L, `94` = 94L, `95` = 95L, `96` = 96L, `541` = 541L, 
`547` = 547L, `548` = 548L, `549` = 549L, `550` = 550L, `551` = 551L, 
`613` = 613L, `755` = 755L, `778` = 778L, `1032` = 1032L, `1060` = 1060L, 
`1101` = 1101L, `1241` = 1241L, `1417` = 1417L, `1429` = 1429L, 
`1650` = 1650L, `1658` = 1658L, `1659` = 1659L, `1713` = 1713L, 
`1930` = 1930L, `1951` = 1951L, `2418` = 2418L, `2513` = 2513L, 
`2654` = 2654L, `2658` = 2658L, `2674` = 2674L, `2713` = 2713L, 
`2834` = 2834L, `2846` = 2846L, `2869` = 2869L, `2916` = 2916L, 
`2917` = 2917L, `2927` = 2927L, `3095` = 3095L, `3144` = 3144L, 
`3145` = 3145L, `3146` = 3146L, `3147` = 3147L, `3148` = 3148L, 
`3149` = 3149L, `3150` = 3150L, `3151` = 3151L, `3152` = 3152L, 
`3153` = 3153L, `3154` = 3154L, `3155` = 3155L, `3156` = 3156L, 
`3157` = 3157L, `3158` = 3158L, `3159` = 3159L, `3160` = 3160L, 
`3161` = 3161L, `3162` = 3162L, `3163` = 3163L, `3164` = 3164L, 
`3165` = 3165L, `3166` = 3166L, `3167` = 3167L, `3168` = 3168L, 
`3169` = 3169L, `3170` = 3170L, `3171` = 3171L, `3172` = 3172L, 
`3173` = 3173L, `3174` = 3174L, `3175` = 3175L, `3176` = 3176L, 
`3177` = 3177L, `3178` = 3178L, `3179` = 3179L, `3180` = 3180L, 
`3181` = 3181L, `3182` = 3182L, `3183` = 3183L, `3184` = 3184L, 
`3185` = 3185L, `3186` = 3186L, `3187` = 3187L, `3188` = 3188L, 
`3189` = 3189L, `3190` = 3190L, `3191` = 3191L, `3192` = 3192L, 
`3193` = 3193L, `3194` = 3194L, `3195` = 3195L, `3196` = 3196L, 
`3197` = 3197L, `3198` = 3198L, `3199` = 3199L, `3200` = 3200L, 
`3201` = 3201L, `3202` = 3202L, `3203` = 3203L, `3204` = 3204L, 
`3205` = 3205L, `3206` = 3206L, `3207` = 3207L, `3208` = 3208L, 
`3209` = 3209L, `3210` = 3210L, `3211` = 3211L, `3212` = 3212L, 
`3213` = 3213L, `3214` = 3214L, `3215` = 3215L, `3216` = 3216L, 
`3217` = 3217L, `3218` = 3218L, `3219` = 3219L, `3220` = 3220L, 
`3221` = 3221L, `3222` = 3222L, `3223` = 3223L, `3224` = 3224L, 
`3225` = 3225L, `3226` = 3226L, `3227` = 3227L, `3228` = 3228L, 
`3229` = 3229L), class = "omit"))
...