質問

私のデータセットはかなり大きいので、私は一例として10行のデータを使用しています(私はExcelでの答えを取り上げましたが、コードのヘルプが必要なのでR - でそれを複製することはできません):< / P>

constant<-c(6.10,5.12,5.04,4.97,4.89,4.89,4.87,4.87,4.88,4.99)
years.star<-c(219.87,153.69,146.19,139.35,127.27,127.27,121.91,121.91,112.28,99.98)
years.sq.star<-c(7915.41,4610.71,4239.78,3901.93,3309.27,3309.27,3047.95,3047.95,2582.58,1999.62)
ln.salary<-c(28.43,23.12,21.59,21.44,22.71,23.33,20.29,21.76,21.48,22.92)

try<-data.frame(constant,years.star,years.sq.star,ln.salary)
.

ln.salaryは依存変数です。あなたが得るべき答えは次のとおりです。

intercept-  6.474922
beta1-      -0.15026
beta2-      0.002769
.

私の問題は、rでは、lm関数を使用すると、私の切身が上記の値を持っていることはわかりません。それだけで1,1,1,1,1,1,1,1,1,1の代わりに、6.10,5.12など使用しています。

SO test<-lm(ln.salary~years.star+years.sq.star,data=try,weights=constant)

はこの回答を生み出すだけでは機能しません:

intercept-   207.1706
beta1-       -3.13214
beta2-        0.064416
.

本質的に、私はデータを撮り、ヘテロ過面性を調整しようとしました。最後のステップでは、私は常に星と私の変換されたX変数を持っています。最後のステップは、上記の答えを与えるために、定数とX変数にLN.Salaryを復元することです。

私はExcelでそれをすることができますが、rではなく、私はコード権を得ていないことを知っています。 Intercept(1,1,1 ...)を生成するLM関数が問題です。あなたは助けてください。

親切 d

役に立ちましたか?

解決

各行に「傍受」を変更したい場合は、「重さ」ではなく「オフセット」を使用する必要があります。

 test<-lm(ln.salary~years.star+years.sq.star+0,data=try,offset=constant)

Call:
lm(formula = ln.salary ~ years.star + years.sq.star + 0, data = try, 
    offset = constant)

Coefficients:
   years.star  years.sq.star  
     0.236355      -0.003881  
.

これはExcelに同意しないという事実にそれほど感銘を受けていません。そのプログラムの線形回帰プログラムは、むしろフレケイであることが知られています。一方、あなたが体重を使う必要があると確信しているのであれば、この用語の3つの異なる可能な解釈のどれを明確にするべきです。(選択:レプリケーション、サンプリング、逆分散)。「重み」のlm解釈は、逆分散バージョンです。(それはそのヘルプページで「変動に反比例しているとして説明しています)」では、それらの「定数」-termsが分散である場合は、おそらく必要な値が必要です。

> (test<-lm(ln.salary~years.star+years.sq.star+0, data=try, weights=1/constant) )

Call:
lm(formula = ln.salary ~ years.star + years.sq.star + 0, data = try, 
    weights = 1/constant)

Coefficients:
   years.star  years.sq.star  
     0.309391      -0.005189  
.

他のヒント

特定の定数での傍受を「修正」したい場合は、応答からその定数の値を差し引いて、傍受モデルに合わせてください。たとえば

です
test <- lm( ln.salary - 6.474922 ~ years.star + years.sq.star + 0,
    data=try, weights=constant)
.

ここでは傍受用語を減算し、次に傍受用語に合わせないように、式に+0を追加します。そのモデルで

が届きます
Call:
lm(formula = ln.salary - 6.474922 ~ years.star + years.sq.star + 
    0, data = try, weights = constant)

Coefficients:
   years.star  years.sq.star  
     0.197384      -0.002842  
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top