Как использовать обучающий пакет datacamp для вставки упражнений R в слайды xaringan?

#r #xaringan

#r #xaringan

Вопрос:

Недавно я наткнулся на обучающий пакет DataCamp, который делает фрагменты кода в документе R Markdown интерактивными, открывая фрагменты кода в обучающем интерфейсе DataCamp. Раньше я tutorial::build_example() генерировал файл примера и компилировал его, чтобы посмотреть, как выглядит отображаемый HTML-файл. Это работает, как и ожидалось. Поскольку я хотел использовать эту функцию в xaringan слайдах, я изменил output: html_document на output: xaringan::moon_reader и теперь я вижу это:

введите описание изображения здесь

Мне интересно, почему это не удается на xaringan слайдах и как я могу это исправить?

Ответ №1:

tutorial предназначен для работы с html_document форматом rmarkdown, который ведет себя иначе, чем xaringan. Я думаю, что не стоит беспокоиться о том, чтобы обойти и попытаться заставить его работать с помощью tutorial пакета.

В конечном счете, вам просто нужно написать некоторый HTML и внедрить datacamp-light.js:

Настройте HTML-файл, который включает JS

dc.html

 <script async='async' src='https://cdn.datacamp.com/dcl-react.js.gz'></script>
 

и включите его в заголовок YAML вашего проекта xaringan:

.Rmd

 output:
  xaringan::moon_reader:
    css: ["customtheme.css"]
    includes:
      in_header: "dc.html"
 

Затем вы можете писать интерактивные упражнения, Используя те же SCT и т. Д., Но Используя фрагменты HTML:

 ---
## DC

<div data-datacamp-exercise data-lang='r' data-height = 320>
<code data-type="sample-code">
 set.seed(123)
 # draw the winning numbers for this week
</code>
<code data-type="solution">
 set.seed(123)
 # draw the winning numbers for this week
 sample(1:49, size = 6)
</code>
<code data-type="sct">
 test_function("sample", args = c("x","size"))
</code>
</div>
 

введите описание изображения здесь

Обратите внимание, что ввод кода будет мешать работе сочетаний клавиш xaringan, поэтому вы хотите отключить их.