我正在撰写一份报告,其中的输出会通过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")
}
在写入表数据链接到工作表之后,我将其读回R,现在将所有LaTeX都放在单元格中,实质上我想要cat
结果,因此它们是LaTeX代码,但是它打印了{{ 1 {}当我data.frame
:
knit
自动化跨平台集成的适当方法是什么?
答案 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")
}
```