2017-08-06 106 views
1

首先,我得说我是一个总入门者,使用RMarkdownRMarkdown:带有数学符号和长文本的表格

说过,我一直在向这个世界介绍自己,以便学习如何制作报告。现在我学会了基本知识(数学符号,一些文本格式),但我无法像过去那样创建表格。

我已经创建使用knitr::kable()表,但没有数学符号:

```{r table1, echo=F, warning=FALSE, message=F} 

library(knitr) 
library(dplyr) 
library(kableExtra) 
text_tbl <- data.frame(
     'Nro'=1:2, 
     'Obj'= c(
       "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse id dolor id arcu pellentesque ullamcorper sit amet sit amet tortor. Quisque quis ligula non turpis faucibus rhoncus. Vestibulum lacinia laoreet massa eget semper. ", 
       "Phasellus aliquam mauris dui, id sagittis velit blandit sit amet. Etiam posuere elementum magna, eu fermentum dolor aliquet vitae. Maecenas ultricies orci quam, eu ultricies augue efficitur non. Suspendisse ligula diam, luctus quis tempus et, venenatis in orci. ") 
) 

kable(text_tbl, 'latex', 
     booktabs=T, 
     caption = 'Table example') %>% 
    kable_styling(full_width = F) %>% 
    column_spec(1, bold = T) %>% 
    column_spec(2, width = '14cm') 
``` 

现在我想重现此表:

第一个表的方法不起作用,因为这个新表格包含数学符号。

我试过管道表,但第三列太长,不会工作(似乎只适用于表内的短文本)和奇怪的事情与数学符号发生。

有什么建议吗?

回答

2

您可以将escape设置为FALSE,kable以键入数学方程式。

text_tbl <- data.frame(
    'Nro'=1:2, 
    'value' = c("a = $\\frac{1}{2}$", "b = $\\frac{2}{3}$"), 
    'Obj'= c(
      "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse id dolor id arcu pellentesque ullamcorper sit amet sit amet tortor. Quisque quis ligula non turpis faucibus rhoncus. Vestibulum lacinia laoreet massa eget semper. ", 
      "Phasellus aliquam mauris dui, id sagittis velit blandit sit amet. Etiam posuere elementum magna, eu fermentum dolor aliquet vitae. Maecenas ultricies orci quam, eu ultricies augue efficitur non. Suspendisse ligula diam, luctus quis tempus et, venenatis in orci. ") 
) 

kable(text_tbl, 'latex', 
    booktabs=T, escape = F, 
    caption = 'Table example') %>% 
    kable_styling(latex_options = "hold_position", full_width = F) %>% 
    column_spec(1, bold = T) %>% 
    column_spec(3, width = '14cm')