思路:创建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!--------------"
网友评论