私のデータセットは非常に大きいので、例として 10 行のデータを使用しています (私は Excel で答えを出しましたが、コードの助けが必要なので R で複製することはできません):
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 関数を使用すると、切片が上記の値を持っていることを認識しないことです。6.10、5.12などの代わりに1,1,1,1,1,1,1,1,1,1を使用するだけです
そう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ではできません。コードが正しくないことはわかっています。インターセプト (1,1,1...) を生成する lm 関数が問題であることはわかっています。助けてください。
よろしくD