Tôi sẽ đưa ra ví dụ của tôi với các cuộc gọi R. Đầu tiên là một ví dụ đơn giản về hồi quy tuyến tính với biến phụ thuộc 'tuổi thọ' và hai biến giải thích liên tục.
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
Để tìm ước tính 'tuổi thọ' khi giá trị của 'trọng số' là 1, tôi thêm (Chặn) + height = 63,64319
Bây giờ nếu tôi có một khung dữ liệu tương tự, nhưng một trong đó một trong các biến giải thích là phân loại thì sao?
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
Trong trường hợp này, để tìm ước tính 'tuổi thọ' khi giá trị của 'trọng lượng' là 1, tôi có nên thêm từng hệ số cho 'động vật' vào phần chặn: (Đánh chặn) + động vật + động vật + động vật? Hoặc cách thích hợp để làm điều này là gì?
Cảm ơn Sverre
code
, thụt lề bởi 4 khoảng trắng.
code
dòng hoàn chỉnh , hãy sử dụng backticks:this is code with a $ and *
set.seed(1)
(hoặc bất kỳ số nào bạn thích) trước khi chạy tạo số ngẫu nhiên, để mọi người đều nhận được kết quả chính xác như bạn (mặc dù điều đó không quan trọng lắm trong trường hợp này).