R语言 如何在我的blogdown网站中正确显示我的图表?

hgb9j2n6  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(97)

我有一个网站,我使用R包blogdown创建,这反过来又是建立在雨果框架。这个网站允许我发布R markdown文件。问题如下:我需要我在R中使用highcharter包创建的交互式图形显示在我的帖子中。当我执行R markdown文件时,它正常显示,但当我要求blogdown在localhost:1234服务该站点时,应该显示图形的空间是空白的。然而,我要求blogdown用相应的文件构建文件夹,当我检查这些文件夹时,我看到javascript文件和其他文件被创建,以便highchart交互式图形可以正确显示。我将其上传到服务器,并检查开发者选项,我可以看到javascript抛出的错误,您可以在https://leonelmoreno.netlify.app/portfolio/2023-04-01-prueba-de-highchart/中找到
我试过单独创建交互式图形,导出它,然后将其包含在R markdown文件中,但它不起作用。此外,在blogdown服务于站点并使用文件和文件夹构建我的网站后,我转到根html文件并添加,我很感激任何可以帮助我正确呈现highcharter包图的评论或建议。

kg7wmglp

kg7wmglp1#

这是解决方案:

---
title: Km
author: DA
date: '2023-04-02'
slug: []
draft: no 
categories:
  - R
tags:
  - R Markdown
description: This is meta description
image: images/portfolio/item1.jpg
---
```{r}
library(tidyverse)
library(ggplot2)
library(highcharter)
library(car)
library(widgetframe)
library(htmltools)

datos <- read_csv("fuel2.csv")
head(datos)
modelo <- lm(consumed ~ 0 + km, data = datos)
summary(modelo)

# Extraer los coeficientes del modelo de regresión lineal
pendiente <- coef(modelo)[1]
pendiente
# Crear una función para calcular el valor ajustado de 'consumed' basado en 'km'
# Función para calcular el valor ajustado de 'consumed' basado en 'km'
ajuste_consumo <- function(km) {
  return(pendiente * km)
}
# Crear una función para calcular el valor ajustado de 'consumed' basado en 'km', con intervalo de confianza del 95%
ajuste_consumo_con_intervalo <- function(km) {
  predicciones <- predict(modelo, newdata = data.frame(km = km), interval = "confidence")
  paste(round(predicciones[1], 2), " [", round(predicciones[2], 2), ", ", round(predicciones[3], 2), "]")
}
# Crear el gráfico interactivo
grafico_interactivo <- highchart() %>%
  hc_title(text = "Regresión Lineal: Consumo de Combustible vs. Kilómetros") %>%
  hc_subtitle(text = paste("Consumed = ", round(pendiente, 4), " * km")) %>%
  hc_xAxis(title = list(text = "Kilómetros")) %>%
  hc_yAxis(title = list(text = "Consumo de Combustible (L)")) %>%
  hc_add_series(data = datos, type = "scatter", hcaes(x = km, y = consumed),
                name = "Datos Observados") %>%
  hc_add_series(data = data.frame(km = datos$km, consumed = ajuste_consumo(datos$km)),
                type = "line", hcaes(x = km, y = consumed),
                name = "Ajuste de Regresión Lineal")
frameWidget(grafico_interactivo)

相关问题