У меня есть фрейм данных, состоящий из 392 строк и 7 независимых переменных, с зависимой переменной mpg. Я не использую последнюю переменную 'name' в моей модели, так как это фактор.
Вот вершина таблицы:
mpg cylinders displacement horsepower weight acceleration year origin
1 18 8 307 130 3504 12.0 70 1
2 15 8 350 165 3693 11.5 70 1
3 18 8 318 150 3436 11.0 70 1
4 16 8 304 150 3433 12.0 70 1
5 17 8 302 140 3449 10.5 70 1
6 15 8 429 198 4341 10.0 70 1
name
1 chevrolet chevelle malibu
2 buick skylark 320
3 plymouth satellite
4 amc rebel sst
5 ford torino
6 ford galaxie 500
Вот структура фрейма данных:
data.frame: 392 obs. of 9 variables:
$ mpg : num 18 15 18 16 17 15 14 14 14 15 ...
$ cylinders : int 8 8 8 8 8 8 8 8 8 8 ...
$ displacement: num 307 350 318 304 302 429 454 440 455 390 ...
$ horsepower : int 130 165 150 150 140 198 220 215 225 190 ...
$ weight : int 3504 3693 3436 3433 3449 4341 4354 4312 4425 3850 ...
$ acceleration: num 12 11.5 11 12 10.5 10 9 8.5 10 8.5 ...
$ year : int 70 70 70 70 70 70 70 70 70 70 ...
$ origin : int 1 1 1 1 1 1 1 1 1 1 ...
$ name : Factor w/ 304 levels "amc ambassador brougham",..:
Для источника переменной: 1 американский, 2 немецкий, 3 японский Я оставил эту переменную как целое число для модели lm.
I побежал lm и уменьшил модель до значимых переменных:
Call:
lm(formula = auto.mpg$mpg ~ auto.mpg$displacement + auto.mpg$horsepower +
auto.mpg$weight + auto.mpg$year + auto.mpg$origin)
Residuals:
Min 1Q Median 3Q Max
-9.4882 -2.1157 -0.1645 1.8650 13.0544
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.669e+01 4.120e+00 -4.051 6.16e-05 ***
auto.mpg$displacement 1.137e-02 5.536e-03 2.054 0.0406 *
auto.mpg$horsepower -2.192e-02 1.078e-02 -2.033 0.0428 *
auto.mpg$weight -6.324e-03 5.685e-04 -11.124 < 2e-16 ***
auto.mpg$year 7.484e-01 5.089e-02 14.707 < 2e-16 ***
auto.mpg$origin 1.385e+00 2.772e-01 4.998 8.80e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Все эти переменные либо числительные c, либо целые. Единственная факторная переменная - это «имя», и она не используется в модели lm.
После того, как у меня есть модель lm, я отображаю остатки, которые хорошо отображаются (случайная и равная дисперсия).
Когда я пытаюсь добавить линию наилучшего соответствия, я получаю сообщение об ошибке: Предупреждающее сообщение:
In abline(auto.mpg.linear, col = "red") :
only using the first two of 6 regression coefficients`
Из других ответов на Stackoverflow я вижу, что это связано с тем, что переменная является фактором.
но ни один из моих входов регрессии не является фактором.
Любые предложения о том, как заставить это работать.
К вашему сведению - я новичок в программировании на R и пытаюсь заставить эту работу работать с базовые функции в R.