summary()函数用Knitr / RStudio给出奇怪的结果

时间:2013-02-11 11:12:29

标签: r knitr rstudio

我在处理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下调用时返回的汇总函数是什么?这是我遗漏的东西的副作用还是一个错误?

此致 格斯

1 个答案:

答案 0 :(得分:2)

尝试将以下内容添加到文档顶部:

```{r, echo=FALSE}
options(digits = 7)
```

要了解R会话和降价之间的区别 - > HTML knitr会话,在R控制台中键入以下内容并将其包含在markddown文档中并比较每个文档的输出:

options()
默认R会话中的

options("digits")是7,但是在从markdown文件(至少在我的系统上)编织HTML文档的环境中,它是4.不确定在哪里设置; )