【问题标题】:Formatting of inline output: how to enforce format with format() or sprintf()内联输出的格式化:如何使用 format() 或 sprintf() 强制格式化
【发布时间】:2013-05-17 08:28:21
【问题描述】:

[转自http://yihui.name/knitr/demo/sweave/]

我理解并欣赏 knitr 以科学计数法格式化大数的政策。但是,即使我有意使用 format() 强制执行特定格式,我也遇到过这种情况。 knitr 似乎覆盖了这一点,我真的很想知道这怎么可能,因为 format() 都返回一个字符串,对吧?是否有任何格式选项可以被 knitr 全局更改?非常感谢任何帮助!

干杯,乌尔里希

【问题讨论】:

    标签: r knitr


    【解决方案1】:

    不,knitr 无法重新格式化来自format() 的结果。正如您所说,format() 返回字符串。我看不到 knitr 如何覆盖结果:

    \documentclass{article}
    \begin{document}
    Here is a number \Sexpr{1e10}, and here is \Sexpr{format(1e10)}.
    \end{document}
    

    【讨论】:

    • 感谢@Yihui 提供了一个很棒的包。我已经使用sweave 很长时间了,现在正在阅读 knitr 手册。我只是在使用上面的代码尝试我的第一个 knitr 包。但是上面的代码不起作用。它给了我错误“第 5 行缺少 $ 已插入。”,并且该语句给出了两次。我在 OS X Mavericks 上运行最新版本的 R、LaTeX、knitr 和 RStudio。
    • 有趣的错误来自使用1e10。如果我使用 1.1e10 一切正常!!
    • @Shambho 抱歉,这是 knitr 1.5 中的一个已知错误,已在开发版本中修复:github.com/yihui/knitr
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多