Невозможно создать сюжетно-интерактивные графики в отчете Rmarkdown.

У меня есть документ Rmarkdown с графиком, созданным с помощью plotly, и я хотел бы создать HTML-файл. Это работает, когда я нажимаю на Knit to HTML в Rstudio, но не когда я запускаю следующее в командной строке:

Rscript -e "require(knitr)" -e "require(markdown)" -e "knit('Untitled.Rmd', out='report.md')" -e "markdownToHTML('report.md', 'report.html')"

После этого у меня есть файл report.html, который содержит график, созданный с помощью plotly, но он не является интерактивным. Кто-нибудь знает, как сделать его интерактивным с командной строкой?

Спасибо

Это код, кстати:

---
title: "Untitled"
output: html_document
---

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

## R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

```{r cars}
summary(cars)
```

## Including Plots

You can also embed plots, for example:

```{r pressure_ggplot, echo=FALSE}
library(ggplot2)
library(plotly)
ggplot(pressure,aes(temperature,pressure))+geom_point(size=10,color='red')
```

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
```{r pressure_plotly, echo=FALSE}

g<-ggplot(pressure,aes(temperature,pressure))+geom_point(size=10,color='red')
ggplotly(g)
```
```{r}
sessionInfo()
```

1 ответ

Решение

Пытаться:

Rscript -e "library(knitr); library(rmarkdown); rmarkdown::render('untitled.Rmd', output_file='report.html')"

Причина: кажется, что knit по умолчанию выводит уценку, а уценка не может содержать HTML. Таким образом, при конвертации вы в конечном итоге пропустите файлы (вы можете увидеть эти ошибки, если вы удалите echo=FALSE из отверстий блока кода.

rmarkdown::render([...]) рендерится чисто в HTML, избегая проблем, упомянутых выше. Если вы хотите указать формат вывода, вы можете сделать это, используя output_format аргумент.

Другие вопросы по тегам