我的虚拟降价脚本中有这段代码。
<!--- add tests from dynamic strings -->
`r paste(knit(text = expand_string), collapse = '\n')`
该字符串在主脚本中生成:
generate_expand_string <- function(reported_test)
{
exp_str <- paste0(
'<h2>',
reported_test,
'</h2>',
'\n',
'<br>',
'\n```{r ',
paste0(reported_test, '_charts'),
', echo = F, fig.width = 14, fig.height = 12, fig.align = "center", message = F, warning = F}\n\n',
'current_test <- ',
'"',
reported_test,
'"',
'\n\n',
'if(length(indicator_charts[[current_test]]) > 0) { for(i in 1:length(indicator_charts[[current_test]])) { print(indicator_charts[[current_test]][[i]]) } };',
'\n\n```',
'\n',
'<br>',
'\n```{r ',
paste0(reported_test, '_table'),
', results = "asis", echo = F}\n\n',
'current_test <- ',
'"',
reported_test,
'"',
'\n\n',
'kable(indicator_tables[[current_test]], align = rep("l", times = ncol(indicator_tables[[current_test]])));',
'\n\n```',
'\n\n'
)
return(exp_str)
}
我在主脚本中运行markdown:
rmarkdown::render(
paste0(
getwd(),
'/',
'dfsdsvcg/',
dfsfdsfdf
),
output_file = paste0(
gsub(' ', '_', reported_indicator),
entity_indicator_report_file_name
),
output_dir = out_dir
)
我实际检查了存在暂时存储png图像的文件夹:
<img src="S:\dfdfdf\dffdfd\debug\detailed\entities\September_2017\15_September_2017\thtthththef-addons\bwagfewcdvfe_files/figure-html/njebgkrded_charts-1.png" width="1344" style="display: block; margin: auto;" />
看起来像这样。有图像。当我在循环中生成页面时,此错误发生1/500次。
问题:您认为会导致什么?
当发生这种情况时我猜测:图像的路径长度变为200多个字符。我可以尝试缩短它。
答案 0 :(得分:1)
回答(显然是修复bug的原因对我有用):如果从列出的ggplot对象导出的图像的路径长度为png文件并暂时存储在报告目录中,则会大于n个元素(大约200个)Markdown中的报告生成失败。请注意输出文件名的长度。