摘要方法结果对于向量似乎不准确

wah*_*ulu 10 r

这令我感到困惑.当您对整数向量运行summary()时,您似乎无法获得准确的结果.这些数字似乎已圆满了.我在三台不同操作系统的机器上试过这个,结果是一样的.

对于矢量:

>a <- 0:628846
>str(a)
 int [1:628847] 0 1 2 3 4 5 6 7 8 9 ...
>summary(a)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
      0  157200  314400  314400  471600  628800 
>max(a)
[1] 628846
Run Code Online (Sandbox Code Playgroud)

对于data.frame:

> b <- data.frame(b = 0:628846)
> str(b)
'data.frame':   628847 obs. of  1 variable:
 $ b: int  0 1 2 3 4 5 6 7 8 9 ...
> summary(b)
       b         
 Min.   :     0  
 1st Qu.:157212  
 Median :314423  
 Mean   :314423  
 3rd Qu.:471635  
 Max.   :628846  
> summary(b$b)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
      0  157200  314400  314400  471600  628800 
Run Code Online (Sandbox Code Playgroud)

为什么这些结果不同?

use*_*319 1

对象a是类integerb就是类data.frame。Adata framelist具有某些属性和类的data.frame( http://cran.r-project.org/doc/manuals/R-intro.html#Data-frames )。许多函数,包括summary,以不同的方式处理不同类的对象(请注意,您可以summary在类的对象上使用lm它,它会为您提供完全不同的东西)。如果您想将该功能应用于summary中的每个组件b,您可以使用lapply

\n\n
> a <- 0:628846\n> b <- data.frame(b = 0:628846)\n> class(a)\n[1] "integer"\n> class(b)\n[1] "data.frame"\n> names(b)\n[1] "b"\n> length(b)\n[1] 1\n> summary(b[[1]]) # b[[1]] gives the first component of the list b\n   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. \n      0  157200  314400  314400  471600  628800 \n> class(b$b)\n[1] "integer"\n> summary(b$b)\n   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. \n      0  157200  314400  314400  471600  628800 \n> lapply(b,summary)\n$b\n   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. \n      0  157200  314400  314400  471600  628800 \n> \n> # example of summary on a linear model\n> x <- rnorm(100)\n> y <- x + rnorm(100)\n> my.lm <- lm(y~x)\n> class(my.lm)\n[1] "lm"\n> summary(my.lm)\n\nCall:\nlm(formula = y ~ x)\n\nResiduals:\n    Min      1Q  Median      3Q     Max \n-2.6847 -0.5460  0.1175  0.6610  2.2976 \n\nCoefficients:\n            Estimate Std. Error t value Pr(>|t|)    \n(Intercept)  0.04122    0.09736   0.423    0.673    \nx            1.14790    0.09514  12.066   <2e-16 ***\n---\nSignif. codes:  0 \xe2\x80\x98***\xe2\x80\x99 0.001 \xe2\x80\x98**\xe2\x80\x99 0.01 \xe2\x80\x98*\xe2\x80\x99 0.05 \xe2\x80\x98.\xe2\x80\x99 0.1 \xe2\x80\x98 \xe2\x80\x99 1 \n\nResidual standard error: 0.9735 on 98 degrees of freedom\nMultiple R-squared: 0.5977, Adjusted R-squared: 0.5936 \nF-statistic: 145.6 on 1 and 98 DF,  p-value: < 2.2e-16\n
Run Code Online (Sandbox Code Playgroud)\n