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"))
{r} avg_life_exp <- round(mean(asia_europe_data$lifeExp), 2) valueBox(avg_life_exp, "Expectativa de vida promedio", icon = "heart")
{r} total_population <- sum(asia_europe_data$pop) valueBox(total_population, "Población total", icon = "users")
{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) })
```{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) ) })
```
```{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}
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") ```
{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) })
```{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) ) })
```
```{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}
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))"
) ) ```