我可以将数据文件嵌入到针对pdf的Rmarkdown文档中吗?

时间:2017-08-24 07:38:07

标签: r latex r-markdown

目前我编译为HTML,它允许我通过函数调用嵌入我的数据的csv(见下文)。当我编织PDF时,我正试图让这个功能正常工作,但是在我的生活中无法解决如何实现这一功能。有methods to embed files in Latex documents但我不知道如何将其与Rmarkdown文档联系起来并让它像我现在一样用简单的函数调用来嵌入数据。有任何想法吗?

 embed_data= function(x, filename = "file.csv", label = "    Get data    "){

  if(!isTRUE(getOption('knitr.in.progress'))){
    cat('Will Embed Data When Knitting')
    return('') 
  } else {

    x <- data.frame(x)
    for(col in names(x))  {
      x[,col] <- str_replace_all(x[,col], '\n', ' ')
      }

    # Create encoded Base64 datastream 
    encode_data= function(x){
      write.csv(x, file = "./file.csv")
      enc = sprintf('data:text/csv;base64,%s', openssl::base64_encode(paste0(readLines("./file.csv"), collapse = "\n")) )
      unlink("./file.csv")
      return(enc)
    }

    # String result ready to be placed in rmarkdown
    cat('    \n', paste0("<a download='", filename, "' href=", encode_data(x), ">", label, "</a>",'    \n'))    
  }
}

0 个答案:

没有答案