对于一个R标记文件,我想创建不同的可能输出pdf文档,其中输出文件名应该在文档中定义.有没有办法说服markdown以这种方式操纵输出文件名?理想情况下,我希望通过r块传递文件名.

推荐答案

通过使用未记录的knit钩子重新定义按钮的功能(默认函数称为rmarkdown::render),可以保持使用RStudio Knit按钮的简单性和YAML标题的可复制性.render函数的output_file参数指定文件名,因此通过设置它,可以覆盖使用与输入文件名相同前缀的标准行为.

e、 g.始终输出名为myfile.pdf的文件

knit: (function(inputFile, encoding) { rmarkdown::render(inputFile, encoding = encoding, output_file = file.path(dirname(inputFile), 'myfile.pdf')) })

该函数可以是匿名的单行程序,也可以从包中导入,如hereslidify所示.

您可以设置自己的YAML头(我不知道是否通常建议这样做),在rmarkdown::metadata$newheader以下可访问,但据我所知,它们似乎在这类函数中不可用.

从chunk作为文件名传入...如果你指的是YAML头下面的代码块,根据我的经验,我认为这是不可能的(?).标题可以包含内联的R命令(单反勾号,以r开头),但似乎不适用于这个钩子函数.

Related:

R相关问答推荐

创建重复删除的唯一数据集组合列表

有没有一个R函数允许你从一个数字变量中提取一个数字,而不考虑它的位置(不仅仅是第一个或最后一个数字?

ggplot的轴标签保存在officer中时被剪切

迭代通过1个长度的字符串长字符R

在R中将特定列的值向右移动

Rplotly中的Sankey Diagram:意外连接&

根据文本字符串中的值粘贴新列

将小数分隔符放在R中的前两位数字之后

您是否可以使用facet_rap设置一个较低的限制来对ggmap上的比例中断进行zoom ?

更新R中的数据表(使用data.table)

汇总数据帧中的复制列,保持行的唯一性

如何使用For-R循环在向量中找到一系列数字

有没有办法将不等长的列表转换为R中的数据帧

根据r中每行中的日期序列,使用列名序列创建新列

R将函数参数传递给ggploy

使用LAG和dplyr执行计算,以便按行和按组迭代

如何在访问之前下载的输入时同时上传和处理所有指定的shiny 输入?

如何在不使用SHINY的情况下将下拉滤镜列表添加到ggploy?

用LOOCV进行K近邻问题

使用grepl过滤特定列范围内的列名