Динамическая фильтрация фреймов данных в rMarkdown ioslides_presentation

#javascript #r #shiny #r-markdown #ioslides

#javascript #r #блестящий #r-markdown #ioslides

Вопрос:

Есть ли какой-либо способ, без использования shiny, как фильтровать данные с помощью выпадающего списка html в rMarkdown ioslides_presentation (или какой-либо функции javascript)?

У меня есть очень простой код, использующий данные mtcars и выпадающее меню html. Я хотел бы отфильтровать фрейм данных mtcars с помощью выпадающего списка html, что-то вроде mtcars[mtcars$mpg > ‘value1’.

Возможно ли это сделать в rMarkdown ioslides_presentation или есть единственный способ сделать это с помощью блестящего реактивного программирования. Заранее большое спасибо за ваш совет.

 ---
date: "`r Sys.Date()`"
output: ioslides_presentation
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## Slide 1

<div>
<select name="mpgFilter" id="mpgFilter">
<option value="1">mpg > 21</option>
<option value="2">mpg > 18</option>
<option value="3">mpg > 15</option>
</select>
</div>

```{r echo=FALSE}
data("mtcars")
mtcarsData <- mtcars[mtcars$mpg > 21,]
plot(mtcarsData$mpg, mtcarsData$disp)
```
  

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

1. Вы можете включить Shiny в свои документы RMardown rmarkdown.rstudio.com/authoring_shiny.html

2. Да, я знаю, и это то, чего я не хочу делать 🙂

3. Вы можете использовать DT::datatable в своих слайдах без shiny, и у этого есть встроенная функция фильтрации.

4. Есть идеи, как я могу использовать DT для моего примера?

5. Если вы хотите сохранить его в JavaScript, то вам нужно будет использовать htmlwidgets или функцию построения графиков JavaScript. Смотрите crosstalk . Если вы хотите вернуть присвоение R , тогда вам понадобится Shiny (рекомендуется) или другая альтернатива.