在Windows XP上使用R-2.15.2,我从summary()
获得的最大值与从max()
获得的最大值不同。
为什么?
以下是相关代码:
> class(dat)
[1] "data.frame"
> dim(dat)
[1] 3850 54
> summary(dat$enrol)
Min. 1st Qu. Median Mean 3rd Qu. Max.
26 945 1744 3044 3128 183200
> max(dat$enrol)
[1] 183151
有什么想法
summary()
将结果四舍五入吗?最好的
奥立佛
最佳答案
这是按照digits
参数打印结果的方式。默认是
> max(3, getOption("digits")-3)
[1] 4
为什么将R舍入只是使用中的默认规则-移至最接近的偶数位。我们可以通过
signif()
看到它的作用:> signif(183151, digits = 4)
[1] 183200
正如
?summary
告诉我们的,这是summary()
使用的内容,并由digits
参数控制:digits: integer, used for number formatting with ‘signif()’ (for ‘summary.default’) or ‘format()’ (for ‘summary.data.frame’).
阅读
?signif
以获取有关舍入问题的更多信息。要获得更多有效数字,请通过
summary()
参数将一个更大的数字传递给digits
。例如
> set.seed(1)
> vec <- c(10, 100, 1e4, 1e5, 1e6) + runif(5)
> summary(vec)
Min. 1st Qu. Median Mean 3rd Qu. Max.
10.3 100.4 10000.0 222000.0 100000.0 1000000.0
> summary(vec, digits = 7)
Min. 1st Qu. Median Mean 3rd Qu. Max.
10.3 100.4 10000.6 222022.5 100000.9 1000000.0
> summary(vec, digits = 8)
Min. 1st Qu. Median Mean 3rd Qu. Max.
10.3 100.4 10000.6 222022.5 100000.9 1000000.2
关于r - 为什么summary()给max()赋予不同的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14536810/