首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >knitr:不打印前导零

knitr:不打印前导零
EN

Stack Overflow用户
提问于 2016-08-31 18:00:16
回答 1查看 80关注 0票数 1

我使用starting将R集成到LaTeX中,其中应打印以零开头的小数,而不应打印零。例如

代码语言:javascript
复制
0.05 =>  .05
0.5  =>  .5
1.5  => 1.5

有没有一种简单的方法可以让knitr做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-31 18:18:08

当您的输出是数值并且介于-1和1之间时,您可以重新定义内联钩子以删除0。

代码语言:javascript
复制
---
output:  pdf_document
---

```{r echo=FALSE}

库(Knitr)

Knit_hooks$set(内联=

函数(x) {

代码语言:javascript
复制
  if (is.numeric(x)) {
代码语言:javascript
复制
      x = round(x, getOption("digits"))
代码语言:javascript
复制
      if (x < 1 & x > -1) {
代码语言:javascript
复制
        x = sub("0\\.","\\.",as.character(x)) 
代码语言:javascript
复制
      }
代码语言:javascript
复制
  }
代码语言:javascript
复制
  paste(as.character(x), collapse = ", ")
代码语言:javascript
复制
  }

)

代码语言:javascript
复制
Sepal and Petal lengths (r = `r cor(iris$Sepal.Length, iris$Petal.Length)`) ; 
Sepal length and width (r = `r cor(iris$Sepal.Length, iris$Sepal.Width)`)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39246502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档