2013-02-27 83 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