【问题标题】:Producing the same number of digits in a chunk as inline code在块中产生与内联代码相同的位数
【发布时间】:2013-11-10 18:51:50
【问题描述】:

如何让 R 块代码生成与 RStudio RMarkdown 文件中的 r 内联代码相同的位数?

例如:

```{r}
x=1:30
sigma.sq=sum((x-mean(x))^2)/30
sigma.sq    
```

Thus, $\sigma^2=`r sigma.sq`$.

块生成数字 74.92,但内联代码生成数字 74.9167。我希望两者都一样。

建议?

D.

附:这是上面代码生成的屏幕截图。

【问题讨论】:

  • 好的,怎么样?例如,如何为整个文档设置它?其次,如何在特定的块中覆盖它?
  • knitr中内联输出的默认钩子函数约为round(x, getOption('digits'));它与 R 的默认打印行为不同,后者有点“神秘”(或者我只是承认我不明白 print() 究竟是如何工作的;它受许多因素的影响)。你可以自定义 knitr 中的 inline 钩子来模仿 print() 函数,如果你能弄清楚它是如何工作的。另见stackoverflow.com/q/15313224/559676stackoverflow.com/a/11065102/559676

标签: r knitr rstudio r-markdown


【解决方案1】:

round() 函数给你答案。例如,R Markdown 中的以下内联代码将显示对象编号的小数点后第二位。

`r round(sigma.sq, 2)`

【讨论】:

    猜你喜欢
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2011-12-12
    • 2013-09-09
    相关资源
    最近更新 更多