#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)