2013-02-27 116 views
1

我有一個看起來像擬合線性模型

> t 
      Institution Subject Class  ML1  ML1SD 
aPhysics0   A Physics  0 0.8730469 0.3329205 
aPhysics1   A Physics  1 0.8471074 0.3598839 
aPhysics2   A Physics  2 0.8593750 0.3476343 
aPhysics3   A Physics  3 0.8875000 0.3159806 
aPhysics4   A Physics  4 0.7962963 0.4027512 

數據幀和我要適合ML1線性函數對Class,但是當我打電話

> lm(ML1 ~ Class, data=t) 

我得到:

Call: 
lm(formula = ML1 ~ Class, data = t) 

Coefficients: 
(Intercept)  Class1  Class2  Class3  Class4 
    0.87305  -0.02594  -0.01367  0.01445  -0.07675 

我真的不明白,因爲它看起來像是給我多對於每個值Class的iple梯度值,但有5個Class值(0-4)。但我想要的是一個單一的截距和一個單一的梯度值。

此外,當我撥打lmweights = 1/ML1SD^2它不會更改任何值。

我在做什麼錯?

+0

那是完整的數據集你當模特?每個班級只有一個觀察點? – alexwhan 2013-02-27 09:49:50

+1

試試'lm(ML1〜as.numeric(as.character(Class)),data = t)',但你確定'Class'是比例尺嗎? – James 2013-02-27 09:50:08

+0

對於你的體重,什麼是ML1SD? – agstudy 2013-02-27 10:01:31

回答

3

Class被視爲categorical variablelm。我想你的Class是一個因素。

而且迴歸結果是正確的,因爲估計值對應於4個類別。這是因爲,默認情況下,第一級(0,就您的情況而言)被視爲參考級別,並且您獲得的所有估計值均與參考值有關。也就是說,mean(Class1) - mean(Class0)等於-0.02594df$Class <- as.numeric(as.character(df$Class))

如果你不希望在Class分類變量,你想它建模爲一個連續變量,那麼,你必須做轉換factornumeric(或integer)型。然後,您可以:

> lm(ML1 ~ Class, data=df) 

Call: 
lm(formula = ML1 ~ Class, data = df) 

Coefficients: 
(Intercept)  Class 
    0.87529  -0.01131 

但你肯定Class是一個連續的變量?

編輯:weights參數確實有影響。它執行加權線性最小二乘迴歸。你可以看到,對於categorical variable當你summary(.)

summary(ML1 ~ factor(Class), data = df) 

但在你的情況下,分類變量只有一個值。

讓我說明另一個例子:

set.seed(45) 
# meaningless data 
df <- data.frame(x=runif(10), y=rep(1:3, c(4,3,3))) 

summary(lm(x ~ factor(y), data=df)) 
# without weights 
# Coefficients: 
#    Estimate Std. Error t value Pr(>|t|) 
# (Intercept) 0.39256 0.09481 4.141 0.00435 ** 
# factor(y)2 -0.09999 0.14482 -0.690 0.51216 
# factor(y)3 -0.14433 0.14482 -0.997 0.35214 


summary(lm(x ~ factor(y), data=df, weights=1/y)) 
# with weights 
# Coefficients: 
#    Estimate Std. Error t value Pr(>|t|)  
# (Intercept) 0.39256 0.07148 5.492 0.000914 *** 
# factor(y)2 -0.09999 0.13687 -0.731 0.488798  
# factor(y)3 -0.14433 0.15983 -0.903 0.396528  
+0

+1好解釋 - :-) – agstudy 2013-02-27 09:57:03

+1

merci beacoup! :) – Arun 2013-02-27 09:58:34

+0

權重呢? – agstudy 2013-02-27 10:00:39