Как конвертировать .md в .Rmd

#r #r-markdown

Вопрос:

Я скачал файл .md с github (здесь). Можно ли преобразовать его в .Rmd?

Комментарии:

1. Вы пробовали просто скопировать-вставить необработанный md файл в новый Rmd документ?

2. Просто переименуйте его в файл .Rmd

Ответ №1:

На самом деле вам просто нужно добавить заголовок YAML для преобразования .md -> > .Rmd .

Сначала мы readLines входим в объект. Вы можете использовать исходную ссылку напрямую или, в качестве альтернативы foo.md , если она у вас уже есть, сохранить ее в своем рабочем каталоге (WD) ( getwd() ).

Затем мы печатаем cat() 1. заголовок YAML и 2. добавляем .md содержимое в файл по строкам. Для 2. мы используем for петлю.

 link <- 'https://gist.githubusercontent.com/kantale/ff6179b97efc32153080097756280b7e/raw/31e9522a80f16be610ac243be16f931493e48316/exams_BIOL_109_2020.md'
r <- readLines(link)
# r <- readLines('foo.md')

cat('---
title: "Untitled"
output: html_document
---
', file='foo.Rmd')  ## basic YAML header, may be customized
for (i in seq(r)) {cat(r[i], 'n', file='foo.Rmd', append=TRUE)}
 

Это сохраняет его работающим foo.Rmd в вашем WD.

Проверьте это:

 rmarkdown::render('foo.Rmd')
 

foo.html должно быть произведено в WD.

Ответ №2:

R markdown-это, по сути, файл уценки с необязательным(!) заголовком и блоками кода. Таким образом, файл md сам по себе является допустимым файлом Rmd. Вы можете «преобразовать» его, просто добавив заголовок вручную, чтобы управлять выводом.

У меня здесь есть простой пакет, который позволяет манипулировать заголовками rmd. Я не тестировал его на файлах md, но есть приличный шанс, что он сработает.

Правка: протестировал, я обновил код после сбоя, так что теперь должен работать:

 library(rmdmanip) #get it from link above, e.g. using devtools::install_github
read.rmd('filename.md') %>% put('title','your title') %>% dump('filename.Rmd)