Skip to content

mariangigena/R-Shiny-Netflix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Análisis de Programas de Netflix con Shiny

Imagen

Descripción

Este proyecto utiliza una aplicación Shiny en R para analizar datos sobre programas de Netflix. La aplicación responde a dos preguntas interesantes sobre el conjunto de datos de programas de Netflix 1. ¿Cuál es la distribución de programas por tipo (TV Show o Movie)?, 2. ¿Cuál es el país con más programas en Netflix? y ademas permite generar un archivo de Excel con información relevante.

Conjunto de datos

Se utiliza el conjunto de datos de programas de Netflix que se encuentra en el siguiente enlace: TidyTuesday Netflix Programs Data. Este conjunto de datos incluye información sobre programas disponibles en Netflix.Dataset

Puntos Clave de la Aplicación

1.Proceso On-Demand para Generar un Archivo Excel: La aplicación Shiny permite a los usuarios generar un archivo de Excel descargable con los datos de programas de Netflix al hacer clic en el botón "Descargar datos en Excel".

2. Estructuración de la Aplicación Shiny: Aunque no sigue un diseño de dashboard, la aplicación tiene una estructura organizada con una barra lateral y un área principal para mostrar gráficos y tablas de manera clara y funcional.

3. Uso de Librerías Relacionadas con Shiny: Se utilizan librerías como "shiny", "tidyverse", "plotly" y "DT", todas relacionadas con Shiny, para crear la interfaz y visualizaciones interactivas.

4.Uso de Tidyverse para Manipular los Datos: Funciones del tidyverse, como dplyr y tidyr, se utilizan de manera eficiente para manipular y analizar los datos de programas de Netflix.

5.Adherencia al Tidyverse Style Guide: El código sigue los principios de DRY (Don't Repeat Yourself) y es legible, utilizando funciones del tidyverse de manera eficiente para manipulaciones de datos.

Codigo de la Aplicación

App

library(shiny)
library(tidyverse)
library(plotly)
library(DT)
library(openxlsx) 


netflix_data <- readr::read_csv("C:/Users/maria/OneDrive/Escritorio/RStudio/netflix_titles.csv")

# Pregunta 1: ¿Cuál es la distribución de programas por tipo (TV Show o Movie)?
programs_by_type <- netflix_data %>%
  group_by(type) %>%
  summarise(count = n())

# Pregunta 2: ¿Cuál es el país con más programas en Netflix?
programs_by_country <- netflix_data %>%
  filter(!is.na(country)) %>%
  group_by(country) %>%
  summarise(count = n()) %>%
  arrange(desc(count)) %>%
  top_n(10)

# Crear la aplicación Shiny
ui <- fluidPage(
  titlePanel("Análisis de Programas de Netflix"),
  
  sidebarLayout(
    sidebarPanel(
      h4("Preguntas de interés:"),
      p("1. ¿Cuál es la distribución de programas por tipo (TV Show o Movie)?"),
      p("2. ¿Cuál es el país con más programas en Netflix?"),
      downloadButton('downloadData', 'Descargar datos en Excel')
    ),
    
    mainPanel(
      tabsetPanel(
        tabPanel("Pregunta 1", plotlyOutput("plot1")),
        tabPanel("Pregunta 2", DTOutput("table1"))
      )
    )
  )
)

server <- function(input, output) {
  output$plot1 <- renderPlotly({
    # Gráfico de la distribución de programas por tipo
    plot_ly(programs_by_type, x = ~type, y = ~count, type = 'bar') %>%
      layout(title = "Distribución de programas por tipo", xaxis = list(title = "Tipo"), yaxis = list(title = "Cantidad"))
  })
  
  output$table1 <- renderDT({
    # Tabla de los países con más programas en Netflix
    datatable(programs_by_country, options = list(pageLength = 10), 
              caption = "Países con más programas en Netflix")
  })
  
  # Función para descargar los datos en Excel
  output$downloadData <- downloadHandler(
    filename = function() { paste("netflix_programs_data_", Sys.Date(), ".xlsx", sep = "") },
    content = function(file) {
      write.xlsx(netflix_data, file)  
    }
  )
}

shinyApp(ui, server)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages