我目前在 RStudio 下处理一个简单的 Markdown 脚本时遇到了一些奇怪的问题。 Summary() 函数给出了错误的结果,我不知道发生了什么,因为 RStudio 根本没有给出任何错误。
如果我执行以下 RMarkdown 脚本(我已将数据放入文件 here )
```{r}
load('mydata.rda')
summary(mydata$b)
head(sort(mydata$b))
```
```{r}
sessionInfo()
```
我得到以下结果
load("mydata.rda")
summary(mydata$b)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0 6000 10000 12000 16000 35000
head(sort(mydata$b))
## [1] -0.01 -0.01 0.00 0.00 0.00 0.00
sessionInfo()
## R version 2.15.1 (2012-06-22)
## Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
##
## locale:
## [1] es_ES.UTF-8/es_ES.UTF-8/es_ES.UTF-8/C/es_ES.UTF-8/es_ES.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] knitr_1.0.5
##
## loaded via a namespace (and not attached):
## [1] digest_0.5.2 evaluate_0.4.3 formatR_0.6 plyr_1.7.1
## [5] stringr_0.6.1 tools_2.15.1
如您所见,结果是错误的,因为“b”变量的实际最小值是负数,summary() 执行似乎忽略了这一点。我对 Knitr Rnw pdf 脚本进行了同样的尝试,结果完全一样。然而,当我通过 Sweave 运行它时,结果是正常的。
在knitr/RStudio下调用summary函数返回什么?这是我遗漏的东西的副作用还是错误?
问候, 格斯
最佳答案
尝试将以下内容添加到文档的顶部:
```{r, echo=FALSE}
options(digits = 7)
```
要查看 R session 和 markdown -> HTML knitr session 之间的区别,请在 R 控制台中键入以下内容并将其包含在 markddown 文档中并比较每个的输出:
options()
options("digits")
在默认的 R session 中是 7,但在从 Markdown 文件(至少在我的系统上)编织 HTML 文档的环境中它是 4。虽然不确定设置在哪里 ;)
关于r - summary() 函数在 Knitr/RStudio 中给出了奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811077/