25-Rmarkdown转md格式快速发简书

作者: wonphen | 来源:发表于2020-01-17 13:16 被阅读0次

    参考资料:http://mp.weixin.qq.com/s?__biz=MzA5NjAyMzU1OA==&mid=2247484064&idx=1&sn=0b1e5becc3ee62a9243f8e5a96d01cb2&chksm=90b727c9a7c0aedf0cd508ad7b8053bbe56355a45e14c969e158980bf4b399382a57bb3d34c6&scene=0&xtrack=1#rd

    思路:创建Rmarkdown文档后,利用knitr包的knit函数将其转换为markdown文档。可以将每一条代码的输出都包含进来,所以非常方便。

    1、编写函数

    复制下面代码保存为trans_md.R文件,最好放到R的工作目录下。

    #>>>>> 函数说明 <<<<<<<<<<
    # 将.Rmd文档转换为.md文档,从而快速在支持MD格式的博客发文
    # 需要安装knitr包,命令为 install.packages("knitr")
    # 参数说明:
    # post_name: Rmd文件完整名称
    # post_path: 生成md文件的保存路径,默认为当前工作路径
    
    trans_md <- function(post_name=NULL,post_path=getwd()){
      # 注意函数中最好不要出现中文,否则可能报错
      if(is.null(post_name) | post_name==""){
        stop("A post name must be given!")
      }
      
      input_file   <- paste(post_path,post_name, sep="/")
      
      post_name <- gsub("\\.[Rr]md$", "", post_name)
      out_file     <- paste0(post_path, "/", post_name, ".md")
      
      knitr::knit(input = input_file, output = out_file)
      print("-------------DONE!--------------")
    }
    

    2、调用函数

    使用函数之前先运行一下,注意如果不是在R当前工作路径下时需要在文件名前面加上实际路径:

    source("trans_md.R")
    

    source后就可以使用函数了,比如我需要将工作目录下的《37-R回归诊断实例.Rmd》转换为md格式,只需运行:

    # 可以写文件的绝对路径和转换后保存的路径
    trans_md(post_name = "./37-R回归诊断实例.Rmd",post_path = "./")
    # 或者:直接在当前工作路径下读取文件,并保存到当前工作目录下
    trans_md("37-R回归诊断实例.Rmd")
    

    完成后输出如下内容表示已经转换完成,用文本编辑器打开后复制到简书Markdown编辑模式下即可。

    output file: C:/Users/Admin/Documents/R/37-R回归诊断实例.md
    
    [1] "-------------DONE!--------------"
    

    相关文章

      网友评论

        本文标题:25-Rmarkdown转md格式快速发简书

        本文链接:https://www.haomeiwen.com/subject/wayczctx.html