0

$y$ = 債券利回り、$x_1$ = オファー サイズ ($\$$1000 債券)、$x_2$ = 満期 (100 か月) というさまざまな都市の債券というラベルの付いたデータ セットがあります。$y=b_0+b_2x_2$、$y=c_0+c_1x_1+c_2x_2$、$y=d_0+d_1x_1$ のすべてのモデルの係数を比較する必要があります。

最初のモデルは実行できましたが、他の 2 つのモデルではエラーが発生します。これは最初の 6 つの都市の値です。

> head(bond)
  N0       City X1   X2   Y  
1  1 Birmingham 30 1.81 335 
2  2     Oxnard 10 1.93 365 
3  3    Salinas 30 2.79 315 
4  4    Danbury 15 1.81 325 
5  5  New Haven 15 1.87 283 
6  6    Norwalk 40 2.17 300  

線形モデル2は c <- lm(y ~ X1 + X2, bond)

Error in model.frame.default(formula = y ~ X1 + X2, data = bond, drop.unused.levels = TRUE) : 
  variable lengths differ (found for 'X1')

最後のモデルはd <- lm(y ~ X1, bond)

Error in model.frame.default(formula = y ~ X1, data = bond, drop.unused.levels = TRUE) : 
  variable lengths differ (found for 'X1')

質問:エラーの内容、またはエラーの修正方法がわかりません。

4

1 に答える 1

8

y と X1 の長さが異なるようです。y ではなく Y を使うべきだったからだと思います。

この関数ls()は、誤って使用する可能性のある類似した名前を持つ追加の変数を見つけるのに役立つ場合があります。rm必要のないものはいつでも使用できます。変数の使用についてかなりの規律を持っていない限り、作業を開始する前に毎回ワークスペースを空にすることは、多くの場合良い考えです。

于 2012-12-01T23:20:24.003 に答える