将R对象中的LaTeX代码包含在markdown中

时间:2016-09-11 18:48:21

标签: r knitr r-markdown

我正在撰写一份报告,其中的输出会通过xlsx推送到library(xlsx)文档。然后将这些数据输入到一个表中,该表特别使用格式化输出的LaTeX代码格式化:

```{r import_results, echo = F}

if(!file.exists("Analysis/results.xlsx")){
  wb <- xlsx::createWorkbook(type = "xlsx")
  sheets <- xlsx::createSheet(wb, "data")
}else{
    wb <- loadWorkbook("Analysis/results.xlsx")
    sheets <- removeSheet(wb, "data")
    sheets <- xlsx::createSheet(wb, "data")
}
getSheets(wb)
addDataFrame(sheet = sheets, x = Results1)
addDataFrame(sheet = sheets, x = Results2, startRow = nrow(Results1)+2)
addDataFrame(sheet = sheets, x = Results3, startRow = nrow(Results1)+ nrow(Results2) + 4)

xlsx::saveWorkbook(wb, "Analysis/results.xlsx")
}

Excel view 在写入表数据链接到工作表之后,我将其读回R,现在将所有LaTeX都放在单元格中,实质上我想要cat结果,因此它们是LaTeX代码,但是它打印了{{ 1 {}当我data.frame

时作为一个长字符串
knit

Output

自动化跨平台集成的适当方法是什么?

1 个答案:

答案 0 :(得分:0)

我得到了一个非常简单的工作例子。方式。虽然我不认为它是最干净的代码,但它确实适用于我需要它做的事情:

library(dplyr)
library(xlsx)
wb <- read.xlsx("Analysis/results.xlsx", sheetName = "import", header=F, stringsAsFactors = F)
wb <- mutate_each(wb, funs(replace(., which(is.na(.)), "")))

```{r, echo = F, results = 'asis'}
for(i in 1:nrow(wb)){
  cat(unlist(wb[i,]),"\n")
}
```