title: "Dashboard de Gapminder" author: "Cofre - Hormazabal" date: "r Sys.Date()" output: flexdashboard::flexdashboard: orientation: rows verticallayout: fill runtime: shiny ---

{r setup, include=FALSE} # Librerías necesarias library(flexdashboard) library(gapminder) library(ggplot2) library(plotly) library(highcharter) library(leaflet) library(dplyr) library(sf) library(rnaturalearth) library(rnaturalearthdata) Asia y Europa ===================================== Row ----------------------------------------------------------------------- {r} # Calcular métricas para Asia y Europa asia_europe_data <- gapminder %>% filter(continent %in% c("Asia", "Europe"))

Expectativa de vida promedio

{r} avg_life_exp <- round(mean(asia_europe_data$lifeExp), 2) valueBox(avg_life_exp, "Expectativa de vida promedio", icon = "heart")

Población total

{r} total_population <- sum(asia_europe_data$pop) valueBox(total_population, "Población total", icon = "users")

Row

{r} renderPlotly({ line_plot <- ggplot(asia_europe_data, aes(x = year, y = lifeExp, color = continent, group = country)) + geom_line(alpha = 0.5) + labs(title = "Expectativa de vida por año", x = "Año", y = "Expectativa de vida") + theme_minimal() ggplotly(line_plot) })

Row

```{r} renderLeaflet({ mapdata <- asiaeuropedata %>% filter(year == 2007) world <- necountries(scale = "medium", returnclass = "sf") mapdata <- mapdata %>% leftjoin(world %>% select(name, geometry), by = c("country" = "name")) %>% stas_sf()

leaflet(map_data) %>% addTiles() %>% addPolygons( fillColor = ~continent, color = "black", weight = 1, opacity = 0.5, label = ~paste(country, "
Expectativa de vida:", lifeExp), popup = ~paste("País:", country, "
Expectativa de vida:", lifeExp) ) }) ```

Row

```{r} renderPlotly({ bardata <- asiaeuropedata %>% filter(year == 2007) %>% groupby(continent) %>% summarise(total_pop = sum(pop))

barplot <- ggplot(bardata, aes(x = continent, y = totalpop, fill = continent)) + geombar(stat = "identity") + labs(title = "Población total por continente (2007)", x = "Continente", y = "Población") + theme_minimal()

ggplotly(bar_plot) }) África y América ===================================== Row -----------------------------------------------------------------------{r}

Calcular métricas para África y América

africaamericadata <- gapminder %>% filter(continent %in% c("Africa", "Americas")) ### Expectativa de vida promedio{r} avglifeexpaa <- round(mean(africaamerica_data$lifeExp), 2)

valueBox(avglifeexpaa, "Expectativa de vida promedio", icon = "heart") ### Población total{r} totalpopulationaa <- sum(africaamerica_data$pop)

valueBox(totalpopulationaa, "Población total", icon = "users") ```

Row

{r} renderPlotly({ line_plot <- ggplot(africa_america_data, aes(x = year, y = lifeExp, color = continent, group = country)) + geom_line(alpha = 0.5) + labs(title = "Expectativa de vida por año", x = "Año", y = "Expectativa de vida") + theme_minimal() ggplotly(line_plot) })

Row

```{r} renderLeaflet({ mapdata <- africaamericadata %>% filter(year == 2007) world <- necountries(scale = "medium", returnclass = "sf") mapdata <- mapdata %>% leftjoin(world %>% select(name, geometry), by = c("country" = "name")) %>% stas_sf()

leaflet(map_data) %>% addTiles() %>% addPolygons( fillColor = ~continent, color = "black", weight = 1, opacity = 0.5, label = ~paste(country, "
Expectativa de vida:", lifeExp), popup = ~paste("País:", country, "
Expectativa de vida:", lifeExp) ) }) ```

Row

```{r} renderPlotly({ bardata <- africaamericadata %>% filter(year == 2007) %>% groupby(continent) %>% summarise(total_pop = sum(pop))

barplot <- ggplot(bardata, aes(x = continent, y = totalpop, fill = continent)) + geombar(stat = "identity") + labs(title = "Población total por continente (2007)", x = "Continente", y = "Población") + theme_minimal()

ggplotly(bar_plot) }) Código utilizado ===================================== Row ----------------------------------------------------------------------- ### Librerías necesarias{r, echo=FALSE}

Librerías necesarias

htmltools::tags$div(style = "overflow-y: scroll; height: 300px; border: 1px solid #ddd; padding: 10px;", pre( " library(flexdashboard) library(gapminder) library(ggplot2) library(plotly) library(highcharter) library(leaflet) library(dplyr) library(sf) library(rnaturalearth) library(rnaturalearthdata) " ) ) Row ----------------------------------------------------------------------- ### Cálculo para Asia y Europa{r, echo=FALSE} htmltools::tags$div(style = "overflow-y: scroll; height: 300px; border: 1px solid #ddd; padding: 10px;", pre( "# Calcular métricas para Asia y Europa asiaeuropedata <- gapminder %>% filter(continent %in% c('Asia', 'Europe'))

avg_life_exp <- round(mean(asia_europe_data$lifeExp), 2)
total_population <- sum(asia_europe_data$pop)"

) ) ### Gráficos para Asia y Europa{r, echo=FALSE} htmltools::tags$div(style = "overflow-y: scroll; height: 300px; border: 1px solid #ddd; padding: 10px;", pre( "# Gráfico de líneas lineplot <- ggplot(asiaeuropedata, aes(x = year, y = lifeExp, color = continent, group = country)) + geomline(alpha = 0.5) + labs(title = 'Expectativa de vida por año', x = 'Año', y = 'Expectativa de vida') + theme_minimal()

# Gráfico de mapa
map_data <- asia_europe_data %>% filter(year == 2007)
world <- ne_countries(scale = 'medium', returnclass = 'sf')
map_data <- map_data %>%
  left_join(world %>% select(name, geometry), by = c('country' = 'name')) %>%
  st_as_sf()

# Gráfico de barras
bar_data <- asia_europe_data %>%
  filter(year == 2007) %>%
  group_by(continent) %>%
  summarise(total_pop = sum(pop))"

) ) Row ----------------------------------------------------------------------- ### Cálculo para África y América{r, echo=FALSE} htmltools::tags$div(style = "overflow-y: scroll; height: 300px; border: 1px solid #ddd; padding: 10px;", pre( "# Calcular métricas para África y América africaamericadata <- gapminder %>% filter(continent %in% c('Africa', 'Americas'))

avg_life_exp_aa <- round(mean(africa_america_data$lifeExp), 2)
total_population_aa <- sum(africa_america_data$pop)"

) ) ### Gráficos para África y América{r, echo=FALSE} htmltools::tags$div(style = "overflow-y: scroll; height: 300px; border: 1px solid #ddd; padding: 10px;", pre( "# Gráfico de líneas lineplot <- ggplot(africaamericadata, aes(x = year, y = lifeExp, color = continent, group = country)) + geomline(alpha = 0.5) + labs(title = 'Expectativa de vida por año', x = 'Año', y = 'Expectativa de vida') + theme_minimal()

# Gráfico de mapa
map_data <- africa_america_data %>% filter(year == 2007)
world <- ne_countries(scale = 'medium', returnclass = 'sf')
map_data <- map_data %>%
  left_join(world %>% select(name, geometry), by = c('country' = 'name')) %>%
  st_as_sf()

# Gráfico de barras
bar_data <- africa_america_data %>%
  filter(year == 2007) %>%
  group_by(continent) %>%
  summarise(total_pop = sum(pop))"

) ) ```