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そして、線形関数をagainstに合わせたいのです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  

の各値に対して複数のグラデーション値を与えているように見えるため、よくわかりませんが、Class5つのClass値(0-4)があります。しかし、私が欲しいのは、単一の切片と単一の勾配値です。

また、それを呼び出しlmweights = 1/ML1SD^2も値は変更されません。

私は何を間違っていますか?

4

1 に答える 1

3

Classと見なされcategorical variableますlm。あなたClassが要因だと思います。

また、回帰の結果は、推定値が 4 つのクラスに対応しているという意味で正しいです。これは、デフォルトでは、最初のレベル (この0場合は ) が参照レベルとして使用され、取得するすべての推定値が参照に関するものであるためです。つまり、mean(Class1) - mean(Class0)に等しい-0.02594です。

カテゴリ変数をオンにしたくなくClass、それを連続変数としてモデル化したい場合は、次のようにして(または) 型に変換factorする必要があります。次に、次のようになります。numericintegerdf$Class <- as.numeric(as.character(df$Class))

> 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)

しかし、あなたの場合、カテゴリ変数には値が 1 つしかありません。

別の例で説明しましょう。

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    
于 2013-02-27T09:51:01.640 に答える