Saya akan memberikan contoh saya dengan panggilan R. Pertama, contoh sederhana dari regresi linier dengan variabel 'masa hidup', dan dua variabel penjelas kontinu.
data.frame(height=runif(4000,160,200))->human.life
human.life$weight=runif(4000,50,120)
human.life$lifespan=sample(45:90,4000,replace=TRUE)
summary(lm(lifespan~1+height+weight,data=human.life))
Call:
lm(formula = lifespan ~ 1 + height + weight, data = human.life)
Residuals:
Min 1Q Median 3Q Max
-23.0257 -11.9124 -0.0565 11.3755 23.8591
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 63.635709 3.486426 18.252 <2e-16 ***
height 0.007485 0.018665 0.401 0.6884
weight 0.024544 0.010428 2.354 0.0186 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.41 on 3997 degrees of freedom
Multiple R-squared: 0.001425, Adjusted R-squared: 0.0009257
F-statistic: 2.853 on 2 and 3997 DF, p-value: 0.05781
Untuk menemukan perkiraan 'masa hidup' ketika nilai 'berat' adalah 1, saya tambahkan (intersepsi) + tinggi = 63.64319
Sekarang bagaimana jika saya memiliki kerangka data yang serupa, tetapi di mana salah satu variabel penjelas adalah kategorikal?
data.frame(animal=rep(c("dog","fox","pig","wolf"),1000))->animal.life
animal.life$weight=runif(4000,8,50)
animal.life$lifespan=sample(1:10,replace=TRUE)
summary(lm(lifespan~1+animal+weight,data=animal.life))
Call:
lm(formula = lifespan ~ 1 + animal + weight, data = animal.life)
Residuals:
Min 1Q Median 3Q Max
-4.7677 -2.7796 -0.1025 3.1972 4.3691
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.565556 0.145851 38.159 < 2e-16 ***
animalfox 0.806634 0.131198 6.148 8.6e-10 ***
animalpig 0.010635 0.131259 0.081 0.9354
animalwolf 0.806650 0.131198 6.148 8.6e-10 ***
weight 0.007946 0.003815 2.083 0.0373 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.933 on 3995 degrees of freedom
Multiple R-squared: 0.01933, Adjusted R-squared: 0.01835
F-statistic: 19.69 on 4 and 3995 DF, p-value: 4.625e-16
Dalam hal ini, untuk menemukan perkiraan 'rentang hidup' ketika nilai 'berat' adalah 1, haruskah saya menambahkan masing-masing koefisien untuk 'hewan' ke intersep: (Intercept) + animalfox + animalpig + animalwolf? Atau apa cara yang tepat untuk melakukan ini?
Terima kasih Sverre
code
, indentasi oleh 4 spasi.
code
, gunakan backticks:this is code with a $ and *
set.seed(1)
(atau nomor apa pun yang Anda suka) sebelum menjalankan pembuatan bilangan acak, sehingga semua orang mendapatkan hasil yang persis sama dengan Anda (meskipun tidak terlalu berarti dalam hal ini).