預測我有一個線性模型中的R查找流明對象R
x <- lm(dist ~ poly(speed, degree=2), data = cars)
,並想找出,
a)在汽車的變量作爲模型的預測。這裏:「速度」
b)如何在模型對象中訪問它們。這裏:4 4 7 7 8 9 10 ...
model.frame包含已轉換的術語,並沒有幫助。 lm對象包含數據,因爲expand.model.frame(x,〜speed)確實有效。但它在哪裏?
任何提示?
預測我有一個線性模型中的R查找流明對象R
x <- lm(dist ~ poly(speed, degree=2), data = cars)
,並想找出,
a)在汽車的變量作爲模型的預測。這裏:「速度」
b)如何在模型對象中訪問它們。這裏:4 4 7 7 8 9 10 ...
model.frame包含已轉換的術語,並沒有幫助。 lm對象包含數據,因爲expand.model.frame(x,〜speed)確實有效。但它在哪裏?
任何提示?
爲了得到變量的列表,你可以使用all.vars
:
all.vars(formula(x))
[1] "dist" "speed"
,僅保留預測:
formula(x)[[3]]
poly(speed, degree = 2)
all.vars(formula(x)[[3]]) # Use the third element of the formula
[1] "speed"
這非常有希望,謝謝。現在我知道使用的變量。我如何訪問lm對象中的數據,比如汽車[,「速度」]? –
使用'str(x)'查看模型對象的內容。然後,您可以看到數據存儲在「lm」對象內的「模型」插槽中,您可以像這樣檢索它:'x $ model' – Gilles
nope,情況並非如此... –
x$coefficients
會給你的結果每個變量的預測影響
我在這裏做了類似的模型:
x<-lm(cyl~ mpg, mtcars)
(Intercept) mpg
11.260683 -0.252515
如果你額外添加你會附加係數:
x<-lm(cyl~ disp + mpg, mtcars)
x$coefficients
(Intercept) disp mpg
5.917863266 0.009197743 -0.092206375
而且你可以通過使用summary
Residuals:
Min 1Q Median 3Q Max
-1.3002 -0.6138 0.1776 0.5486 1.1406
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.917863 1.255293 4.714 5.61e-05 ***
disp 0.009198 0.002011 4.574 8.27e-05 ***
mpg -0.092206 0.041352 -2.230 0.0337 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.7364 on 29 degrees of freedom
Multiple R-squared: 0.8409, Adjusted R-squared: 0.83
F-statistic: 76.66 on 2 and 29 DF, p-value: 2.647e-12
模型數據集(只是第幾這裏)得到整個內幕:
head(x$model)
cyl disp mpg
Mazda RX4 6 160 21.0
Mazda RX4 Wag 6 160 21.0
Datsun 710 4 108 22.8
Hornet 4 Drive 6 258 21.4
Hornet Sportabout 8 360 18.7
Valiant 6 225 18.1
並且您可以訪問具有典型對象cla的模型部分SS查詢:
x$model$cyl
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
和每個觀察預測結果基於模型(只是前幾個):
head(x$fitted.values)
Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout Valiant
5.453168 5.453168 4.808914 6.317664 7.504791 6.318420
感謝您的回答,但這不是我一直在尋找的。我有模型公式中的某種轉換的預測因素,並想知道哪些是需要的。 –
對不起。我有時很難理解人們究竟在問什麼。我不會像大多數程序員那樣使用語言...... – sconfluentus
:-)沒問題! –
你可以用'x'然後輸入'STR開始(X)' – G5W
嗯,嗯,我沒有...但沒有運氣! –
你試過x $ model $ speed嗎? – tagoma