楼主: 超级大菜鸟
3320 1

[问答] 在循环中使用rmarkdown::render()时,cache = T实效 [推广有奖]

  • 7关注
  • 1粉丝

已卖:113份资源

硕士生

86%

还不是VIP/贵宾

-

威望
0
论坛币
224 个
通用积分
2.1000
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
2159 点
帖子
78
精华
0
在线时间
267 小时
注册时间
2011-7-20
最后登录
2025-3-30

楼主
超级大菜鸟 发表于 2016-7-31 16:48:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我在循环中使用rmarkdown::render(),并且在其中一个chunk中将cache参数设为T。经过循环后,最后生成若干个报告。但是,每次循环中,cache=T的那个chunk都会重新计算(也就是做没有起到缓存的作用)。如果我将out_file值固定,缓存又会起作用了。我不知道这是怎么回事,请大家帮忙解答。
  1. render(paste(getwd(),"/新建文件夹/cheng.Rmd",sep=""),
  2.          output_format = "html_document",
  3.          output_file = paste(1,".html",sep = ""),
  4.          # quiet = TRUE,
  5.          clean = F,
  6.          encoding = "UTF-8" )
复制代码
   换句话说,即使不是在循环中,对于同样一个rmd文档,只要render的out_file变化了,缓存都不起作用。
  1. ## out_file1
  2. render(paste(getwd(),"/新建文件夹/cheng.Rmd",sep=""),
  3. output_format = "html_document",
  4. output_file = paste(1,".html",sep = ""),
  5. # quiet = TRUE,
  6. clean = F,
  7. encoding = "UTF-8" )


  8. #out_file2
  9. render(paste(getwd(),"/新建文件夹/cheng.Rmd",sep=""),
  10. output_format = "html_document",
  11. output_file = paste(2,".html",sep = ""),
  12. # quiet = TRUE,
  13. clean = F,
  14. encoding = "UTF-8" )
复制代码



下面是两个文件的截图和源文件


r.png          rmd.png



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:RENDER Mark Down Dow RMA 新建文件夹 我不知道

沙发
超级大菜鸟 发表于 2016-8-1 09:30:20
我又试了一遍,发现cache是有效的。不好意思!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 12:56