2016-08-31 5 views
1

Я использую knitr для интегрирования R в LaTeX, где десятичные числа, начинающиеся с нуля, должны быть напечатаны без нуля. Например,knitr: не печатать ведущие нули

0.05 => .05 
0.5 => .5 
1.5 => 1.5 

Есть ли простой способ получить вязание, чтобы сделать это inline?

ответ

4

Вы можете переопределить встроенный крюк, чтобы удалить 0, когда ваш вывод числовой и между -1 и 1.

--- 
output: pdf_document 
--- 

```{r echo=FALSE} 
library(knitr) 
knit_hooks$set(inline = 
    function (x) { 
     if (is.numeric(x)) { 
      x = round(x, getOption("digits")) 
      if (x < 1 & x > -1) { 
      x = sub("0\\.","\\.",as.character(x)) 
      } 

     } 
     paste(as.character(x), collapse = ", ") 
     } 
) 
``` 


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)`) 
Смежные вопросы