我知道答案,render()
。但是,当我render
下面的代码时,输出与我只需按knit
即可获得的输出不一致。实际上,该表未按函数kable
的预期呈现。
---
title: "Untitled"
output:
pdf_document: default
html_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
```{r results='asis'}
library(knitr)
library(dplyr)
print_kable <- function(species) {
iris %>% filter(Species == species) %>%
summarise(avg=mean(Sepal.Width)) %>%
kable(caption=paste('Results for', species)) %>% print
}
ff <- lapply(c("setosa", "versicolor", "virginica"), print_kable)
```
要调用渲染器,我使用rmarkdown::render('testLookKable.Rmd', output_dir = 'standardReports/', runtime = 'static', output_format = 'pdf_document')
。
当按下按钮编织为pdf时,这就是表格的样子:
通过输入函数
,这就是我render()
时的样子
我想要实现的是第一个输出,但通过显式运行函数而不是按下按钮进行渲染。
来自sessionInfo()
:
R version 3.4.0 (2017-04-21)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.4
rmarkdown_1.5
knitr_1.15.1
答案 0 :(得分:1)
我收到pdflatex
未找到的错误(尽管locate
找到了多个版本。在将当前版本的TexLive设置为2016后,
machine-name:~ username$ texdist —-current
machine-name:~ username$ pdflatex -v
# pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016)
我仍然需要这样做(从SO上的答案中复制):
sudo ln -fhs Distributions/.DefaultTeX/Contents/Programs/texbin /Library/TeX/texbin
echo "/Library/TeX/texbin" >~/Desktop/TeX
sudo cp ~/Desktop/TeX /etc/paths.d/TeX
echo "/Library/TeX/Distributions/.DefaultTeX/Contents/Man" >~/Desktop/TeX
sudo cp ~/Desktop/TeX /etc/manpaths.d/TeX
echo /Library/TeX/texbin
我现在得到的是两张图片的组合版本:
我还编辑了PATH以删除前El Cap项目:usr/bin/texbin
并输入/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin:
。这些都没有奏效。 (我没有使用RStudio。)