相同的值,相同的类但两者的比较给出FALSE结果

时间:2016-03-31 09:10:10

标签: r linear-regression

我使用了以下数据,并尝试比较模型提供的Residuals值并手动计算。两种结果通过目视检查是相同的,但R表现出不同的方式。

library(MASS)
lm.fit=lm(medv~lstat,data=Boston)

Boston$lmedv[1:10]             #Actual values 
[1]  24.0 21.6 34.7 33.4 36.2 28.7 22.9 27.1 16.5 18.9

lm.fit$fitted.values[1:10]     #Predicted values 
 1         2          3         4         5         6         7            
29.822595 25.870390 30.725142 31.760696 29.490078 29.604084 22.744727 

 8            9        10 
16.360396  6.118864 18.307997

a<-Boston$medv[1:10]-lm.fit$fitted.values[1:10]  #Manual Cal. of Residual
  1          2          3          4          5          6          7 
-5.8225951 -4.2703898  3.9748580  1.6393042  6.7099222 -0.9040837  0.1552726 

   8          9         10 
10.7396042 10.3811363  0.5920031 

lm.fit$residuals[1:10]                 #Residual cal. Provided by lm model
     1          2          3          4          5          6          7 
-5.8225951 -4.2703898  3.9748580  1.6393042  6.7099222 -0.9040837  0.1552726 

     8          9         10 
10.7396042 10.3811363  0.5920031 

class(a)
[1] "numeric"

class(lm.fit$residual[1:10])
[1] "numeric"

a==lm.fit$residuals[1:10]
  1     2     3     4     5     6     7     8     9    10 
 TRUE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE 

table(a==lm.fit$residuals[1:10]
 FALSE  TRUE 
  6     4 

值相同,类也相同。但是为什么R在一种奇怪的方式中表现并且在比较中将它们列为FALSE。我错过了什么 ?请告诉我 。

0 个答案:

没有答案