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$ 的系数。

我能够制作第一个模型,但其他两个模型出现错误。这是前六个城市的值。

> 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  

线性 模型2c <- 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 回答