Proyecto M1: Segunda Parte

Oscar Domínguez Sánchez

2025-04-03

Prueba de Bechdel

La prueba de Bechdel es un método que se usa para evaluar la representación de las mujeres en películas, series u otras obras narrativas. Para aprobarla, la obra debe cumplir tres criterios: (1) tener al menos dos personajes femeninos con nombre, (2) que estos personajes conversen entre sí en algún momento, y (3) que su diálogo no gire en torno a un hombre (por ejemplo, relaciones románticas o familiares). Fue propuesta por Alison Bechdel, destacando la falta de desarrollo de personajes femeninos en muchas producciones, aunque no mide la calidad ni la igualdad de género de manera exhaustiva.

Actividad 1

Cargue en un objeto de R el contenido del archivo “prueba_bechdel.csv”

En dicho dataframe se tienen algunas columnas como:

  • budget_2013: Presupuesto en dólares ajustados a la inflación de 2013

  • domgross_2013: Recaudación nacional (EE.UU.) en dólares ajustados a la inflación de 2013

  • intgross_2013: Recaudación internacional total (es decir, mundial) en dólares a la inflación de 2013

En la columna clean_test encontrará los valores:

  • ok = Pasa la prueba
  • dubious = Se duda si pasa la prueba
  • men = Las mujeres sólo hablan acerca de hombres
  • notalk = Las mujeres no se hablan entre sí
  • nowomen = menos de dos mujeres
datos_bechdel<-read.csv("prueba_bechdel.csv")
datos_bechdel |> head()
##   year      imdb            title            test clean_test binary     code
## 1 2013 tt1711425        21 & Over          notalk     notalk   FAIL 2013FAIL
## 2 2012 tt1343727         Dredd 3D     ok-disagree         ok   PASS 2012PASS
## 3 2013 tt2024544 12 Years a Slave notalk-disagree     notalk   FAIL 2013FAIL
## 4 2013 tt1272878           2 Guns          notalk     notalk   FAIL 2013FAIL
## 5 2013 tt0453562               42             men        men   FAIL 2013FAIL
## 6 2013 tt1335975         47 Ronin             men        men   FAIL 2013FAIL
##   budget_2013 domgross_2013 intgross_2013
## 1    13000000      25682380      42195766
## 2    45658735      13611086      41467257
## 3    20000000      53107035     158607035
## 4    61000000      75612460     132493015
## 5    40000000      95020213      95020213
## 6   225000000      38362475     145803842

Actividad 2

Use alguna de las funciones case_when o if_else de {dplyr} para cambiar los valores de la columna clean_test

  • ok -> pasa dubious -> dudosamente men -> discurso_hombres no_talk -> silencio nowomen -> sin_mujeres
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
datos_bechdel<-datos_bechdel |>
mutate(clean_test=case_when(
  clean_test == "ok" ~ "pasa",
  clean_test == "dubious" ~ "dudosamente",
  clean_test == "men" ~ "discurso_hombres",
  clean_test == "notalk" ~ "silencio",
  clean_test == "nowomen" ~ "sin_mujeres",
  TRUE ~ clean_test
))

datos_bechdel |> head()
##   year      imdb            title            test       clean_test binary
## 1 2013 tt1711425        21 & Over          notalk         silencio   FAIL
## 2 2012 tt1343727         Dredd 3D     ok-disagree             pasa   PASS
## 3 2013 tt2024544 12 Years a Slave notalk-disagree         silencio   FAIL
## 4 2013 tt1272878           2 Guns          notalk         silencio   FAIL
## 5 2013 tt0453562               42             men discurso_hombres   FAIL
## 6 2013 tt1335975         47 Ronin             men discurso_hombres   FAIL
##       code budget_2013 domgross_2013 intgross_2013
## 1 2013FAIL    13000000      25682380      42195766
## 2 2012PASS    45658735      13611086      41467257
## 3 2013FAIL    20000000      53107035     158607035
## 4 2013FAIL    61000000      75612460     132493015
## 5 2013FAIL    40000000      95020213      95020213
## 6 2013FAIL   225000000      38362475     145803842

Actividad 3

Use alguna de las funciones case_when o if_else de {dplyr} para cambiar los valores de la columna binary

  • FAIL -> no_pasa PASS -> si_pasa

Actividad 4

Haga una gráfica con funciones de {ggplot2} que muestre la composición de observaciones que sí pasaron y no pasaron la prueba de Bechdel

Actividad 5

Haga una gráfica con funciones de {ggplot2} que muestre la composición de observaciones que sí pasaron y no pasaron la prueba de Bechdel, con respecto al año

Actividad 6

Haga una gráfica con funciones de {ggplot2} que muestre la composición de observaciones que pasaron, dudosamente, sólo hablaban de hombres, no hablaban entre sí y no hay mujeres.

Actividad 7

Haga una gráfica con funciones de {ggplot2} que muestre la composición de observaciones que pasaron, dudosamente, sólo hablaban de hombres, no hablaban entre sí y no hay mujeres, con respecto al año.

Actividad 8

Haga una gráfica con funciones de {ggplot2} que muestre la relación entre el presupuesto de la obra con la ganancia de la obra en función de si paso o no la prueba de Bechdel. ¿Puede hacer algún tipo de afirmación?

Actividad 9

Haga dos gráficas adicionales con funciones de {ggplot2} que considere interesantes.

¿AeroLineas Seguras?

Se usará el conjunto de datos airline_safety de la librería {fivethirtyeight}

datos_aerolinea<-fivethirtyeight::airline_safety

Actividad 1

Con funciones de la librería {dplyr} para obtener el número total de incidentes, número total de accidentes fatales y el número total de muertes en el periodo de 1985 a 2014.

  • En primera instancia, visualizamos los datos del dataset a analizar.
datos_aerolinea |> head()
## # A tibble: 6 × 9
##   airline           incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##   <chr>             <lgl>                                  <dbl>           <int>
## 1 Aer Lingus        FALSE                              320906734               2
## 2 Aeroflot          TRUE                              1197672318              76
## 3 Aerolineas Argen… FALSE                              385803648               6
## 4 Aeromexico        TRUE                               596871813               3
## 5 Air Canada        FALSE                             1865253802               2
## 6 Air France        FALSE                             3004002661              14
## # ℹ 5 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>

Realizamos un summarize() para obtener los datos que queremos…

Datos_totales<-datos_aerolinea |>summarise(total_incidents=sum(incidents_85_99,incidents_00_14,na.rm=TRUE),
                                            total_fatalAccidents=sum(fatal_accidents_85_99,fatal_accidents_00_14, na.rm=TRUE),
                                            total_fatalities=sum(fatalities_85_99,fatalities_00_14))

Datos_totales
## # A tibble: 1 × 3
##   total_incidents total_fatalAccidents total_fatalities
##             <int>                <int>            <int>
## 1             633                  159             9404

Actividad 2

Obtenga las 10 aerolíneas que han tenido el mayor número de incidentes. Haga una visualización que permita identificar a éstas. ¿Hay algún cambio en este top 10 antes y después del año 2000?

  • Insertamos las librerías que utilizaremos
library(ggplot2)
library(dplyr)
library(fivethirtyeight)
## Warning: package 'fivethirtyeight' was built under R version 4.4.3
## Some larger datasets need to be installed separately, like senators and
## house_district_forecast. To install these, we recommend you install the
## fivethirtyeightdata package by running:
## install.packages('fivethirtyeightdata', repos =
## 'https://fivethirtyeightdata.github.io/drat/', type = 'source')
  • Obtenemos las 10 aerolineas con mayor incidentes.
top10_incidents<-airline_safety|>group_by(airline)|>mutate(total_incidents=sum(incidents_85_99,incidents_00_14)) |> arrange(desc(total_incidents)) |> head(10)

top10_incidents
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Aeroflot         TRUE                              1197672318              76
##  2 Delta / Northwe… TRUE                              6525658894              24
##  3 American         TRUE                              5228357340              21
##  4 United / Contin… TRUE                              7139291291              19
##  5 Ethiopian Airli… FALSE                              488560643              25
##  6 US Airways / Am… TRUE                              2455687887              16
##  7 Air France       FALSE                             3004002661              14
##  8 Pakistan Intern… FALSE                              348563137               8
##  9 Saudi Arabian    FALSE                              859673901               7
## 10 Turkish Airlines FALSE                             1946098294               8
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_incidents <int>
  • Realizamos la visualización de los datos.
ggplot(top10_incidents, aes(x = reorder(airline, total_incidents), y = total_incidents)) +
  geom_bar(stat = "identity", fill = "lightblue") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Mayor Número de Incidentes",
       x = "Aerolínea",
       y = "Número Total de Incidentes") +
  theme_minimal()

  • Hagamos el análisis antes y despues del 2000.
Top10_incidents_85_99<-airline_safety|>group_by(airline)|> mutate(total_incidents=incidents_85_99)|>arrange(desc(total_incidents)) |> head(10)
Top10_incidents_85_99
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Aeroflot         TRUE                              1197672318              76
##  2 Ethiopian Airli… FALSE                              488560643              25
##  3 Delta / Northwe… TRUE                              6525658894              24
##  4 American         TRUE                              5228357340              21
##  5 United / Contin… TRUE                              7139291291              19
##  6 US Airways / Am… TRUE                              2455687887              16
##  7 Air France       FALSE                             3004002661              14
##  8 China Airlines   FALSE                              813216487              12
##  9 Korean Air       FALSE                             1734522605              12
## 10 Garuda Indonesia FALSE                              613356665              10
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_incidents <int>
  • Incidentes despues del 2000
Top10_incidents_00_14<-airline_safety|>group_by(airline)|>mutate(total_incidents=incidents_00_14)|> arrange(desc(total_incidents)) |> head(10)
Top10_incidents_00_14
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Delta / Northwe… TRUE                              6525658894              24
##  2 American         TRUE                              5228357340              21
##  3 United / Contin… TRUE                              7139291291              19
##  4 Saudi Arabian    FALSE                              859673901               7
##  5 US Airways / Am… TRUE                              2455687887              16
##  6 Pakistan Intern… FALSE                              348563137               8
##  7 Southwest Airli… FALSE                             3276525770               1
##  8 Turkish Airlines FALSE                             1946098294               8
##  9 All Nippon Airw… FALSE                             1841234177               3
## 10 TAM              FALSE                             1509195646               8
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_incidents <int>
  • Finalmente veamos si hubieron diferencias de manera visual entre los diferentes periodos en el Top10
ggplot(Top10_incidents_85_99, aes(x = reorder(airline, incidents_85_99), y = incidents_85_99)) +
  geom_bar(stat = "identity", fill = "#FF5733") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Más Incidentes (1985-1999)",
       x = "Aerolínea",
       y = "Número de Incidentes") +
  theme_minimal()

ggplot(Top10_incidents_00_14, aes(x = reorder(airline, incidents_00_14), y = incidents_00_14)) +
  geom_bar(stat = "identity", fill = "#2E86C1") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Más Incidentes (2000-2014)",
       x = "Aerolínea",
       y = "Número de Incidentes") +
  theme_minimal()

Podemos observar que si existe un gran diferencia en el número total de incidentes por cada aerolinea antes y despues del 2000. El top 10 varia conforme el periodo. Algunos si se mantienen en el Top pero el cambió más drástico fué AeroFlot

Actividad 3

Obtenga las 10 aerolíneas que han tenido el menor número de incidentes. Haga una visualización que permita identificar a éstas. ¿Hay algún cambio en este top 10 antes y después del año 2000?

  • Obtenemos las 10 aerolineas con menor número de incidentes.
top10_incidentsmenor<-airline_safety|>group_by(airline)|>mutate(total_incidents=sum(incidents_85_99,incidents_00_14)) |> arrange(total_incidents) |> head(10)

top10_incidentsmenor
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 TAP - Air Portu… FALSE                              619130754               0
##  2 Finnair          FALSE                              506464950               1
##  3 Hawaiian Airlin… FALSE                              493877795               0
##  4 Virgin Atlantic  FALSE                             1005248585               1
##  5 Aer Lingus       FALSE                              320906734               2
##  6 Austrian Airlin… FALSE                              358239823               1
##  7 Cathay Pacific   TRUE                              2582459303               0
##  8 Condor           FALSE                              417982610               2
##  9 El Al            FALSE                              335448023               1
## 10 COPA             FALSE                              550491507               3
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_incidents <int>
  • Realizamos la visualización de los datos.
ggplot(top10_incidentsmenor, aes(x = reorder(airline, total_incidents), y = total_incidents)) +
  geom_bar(stat = "identity", fill = "lightblue") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Menor Número de Incidentes",
       x = "Aerolínea",
       y = "Número Total de Incidentes") +
  theme_minimal()

+ El número de incidente más grande en este Top fué de 3, un número mucho más bajo comparado con el Top anterior.

  • Hagamos el análisis antes y despues del 2000.
Top10_incidents_85_99_menor<-airline_safety|>group_by(airline)|> mutate(total_incidents=incidents_85_99)|>arrange(total_incidents) |> head(10)
Top10_incidents_85_99_menor
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Cathay Pacific   TRUE                              2582459303               0
##  2 Hawaiian Airlin… FALSE                              493877795               0
##  3 TAP - Air Portu… FALSE                              619130754               0
##  4 Austrian Airlin… FALSE                              358239823               1
##  5 El Al            FALSE                              335448023               1
##  6 Finnair          FALSE                              506464950               1
##  7 Gulf Air         FALSE                              301379762               1
##  8 Qantas           TRUE                              1917428984               1
##  9 Southwest Airli… FALSE                             3276525770               1
## 10 Virgin Atlantic  FALSE                             1005248585               1
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_incidents <int>
  • Incidentes despues del 2000
Top10_incidents_00_14_menor<-airline_safety|>group_by(airline)|>mutate(total_incidents=incidents_00_14)|> arrange(total_incidents) |> head(10)
Top10_incidents_00_14_menor
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Aer Lingus       FALSE                              320906734               2
##  2 Avianca          FALSE                              396922563               5
##  3 Condor           FALSE                              417982610               2
##  4 COPA             FALSE                              550491507               3
##  5 Finnair          FALSE                              506464950               1
##  6 Japan Airlines   FALSE                             1574217531               3
##  7 LAN Airlines     FALSE                             1001965891               3
##  8 TAP - Air Portu… FALSE                              619130754               0
##  9 Virgin Atlantic  FALSE                             1005248585               1
## 10 Aerolineas Arge… FALSE                              385803648               6
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_incidents <int>
  • Finalmente veamos si hubieron diferencias de manera visual entre los diferentes periodos en el Top10 para el menor número de incidentes.
ggplot(Top10_incidents_85_99_menor, aes(x = reorder(airline, incidents_85_99), y = incidents_85_99)) +
  geom_bar(stat = "identity", fill = "#FF5733") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Menos Incidentes (1985-1999)",
       x = "Aerolínea",
       y = "Número de Incidentes") +
  theme_minimal()

ggplot(Top10_incidents_00_14_menor, aes(x = reorder(airline, incidents_00_14), y = incidents_00_14)) +
  geom_bar(stat = "identity", fill = "#2E86C1") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Menos Incidentes (2000-2014)",
       x = "Aerolínea",
       y = "Número de Incidentes") +
  theme_minimal()

  • Podemos observar que durante estos dos periodos el movimiento en el TOP 10 fué mucho mayor. Practicamente solo 3 aerolineas pudieron mantener su puesto en el top.

Actividad 4

Obtenga las 10 aerolíneas que han tenido el mayor número de muertes. Haga una visualización que permita identificar a éstas. ¿Hay algún cambio en este top 10 antes y después del año 2000?

  • Obtenemos las 10 aerolineas con mayor número de muertes en total.
top10_mayor_muertes<-airline_safety|>group_by(airline)|>mutate(total_fatalities=sum(fatalities_85_99,fatalities_00_14)) |> arrange(desc(total_fatalities)) |> head(10)

top10_mayor_muertes
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 China Airlines   FALSE                              813216487              12
##  2 Malaysia Airlin… FALSE                             1039171244               3
##  3 Japan Airlines   FALSE                             1574217531               3
##  4 American         TRUE                              5228357340              21
##  5 Air India        TRUE                               869253552               2
##  6 Delta / Northwe… TRUE                              6525658894              24
##  7 United / Contin… TRUE                              7139291291              19
##  8 Korean Air       FALSE                             1734522605              12
##  9 Air France       FALSE                             3004002661              14
## 10 Avianca          FALSE                              396922563               5
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_fatalities <int>
  • Realizamos la visualización de los datos.
ggplot(top10_mayor_muertes, aes(x = reorder(airline, total_fatalities), y = total_fatalities)) +
  geom_bar(stat = "identity", fill = "lightblue") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Mayor Número de Muertes",
       x = "Aerolínea",
       y = "Número Total de Muertes") +
  theme_minimal()

+ El número mayor de muertes es muy grande…FYI.

  • Hagamos el análisis antes y despues del 2000.
Top10_mayor_muertes_85_99<-airline_safety|>group_by(airline)|> mutate(total_fatalities=fatalities_85_99)|>arrange(desc(total_fatalities)) |> head(10)
Top10_mayor_muertes_85_99
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 China Airlines   FALSE                              813216487              12
##  2 Japan Airlines   FALSE                             1574217531               3
##  3 Korean Air       FALSE                             1734522605              12
##  4 Delta / Northwe… TRUE                              6525658894              24
##  5 Air India        TRUE                               869253552               2
##  6 Avianca          FALSE                              396922563               5
##  7 United / Contin… TRUE                              7139291291              19
##  8 Saudi Arabian    FALSE                              859673901               7
##  9 Thai Airways     FALSE                             1702802250               8
## 10 Egyptair         FALSE                              557699891               8
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_fatalities <int>
  • Top 10 muertes despues del 2000
Top10_mayor_muertes_00_14<-airline_safety|>group_by(airline)|>mutate(total_fatalities=fatalities_00_14)|> arrange(desc(total_fatalities)) |> head(10)
Top10_mayor_muertes_00_14
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Malaysia Airlin… FALSE                             1039171244               3
##  2 American         TRUE                              5228357340              21
##  3 Air France       FALSE                             3004002661              14
##  4 Kenya Airways    FALSE                              277414794               2
##  5 China Airlines   FALSE                              813216487              12
##  6 TAM              FALSE                             1509195646               8
##  7 Air India        TRUE                               869253552               2
##  8 Gulf Air         FALSE                              301379762               1
##  9 SAS              TRUE                               682971852               5
## 10 United / Contin… TRUE                              7139291291              19
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_fatalities <int>
  • Finalmente veamos si hubieron diferencias de manera visual entre los diferentes periodos en el Top10 para el mayor número de muertes
ggplot(Top10_mayor_muertes_85_99, aes(x = reorder(airline, fatalities_85_99), y = fatalities_85_99)) +
  geom_bar(stat = "identity", fill = "#FF5733") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Mayor Número de Muertes (1985-1999)",
       x = "Aerolínea",
       y = "Número de Muertes") +
  theme_minimal()

ggplot(Top10_mayor_muertes_00_14, aes(x = reorder(airline, fatalities_00_14), y = fatalities_00_14)) +
  geom_bar(stat = "identity", fill = "#2E86C1") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Mayor Número de Muertes (2000-2014)",
       x = "Aerolínea",
       y = "Número de Muertes") +
  theme_minimal()

Actividad 5

Obtenga las 10 aerolíneas que han tenido el menor número de muertes. Haga una visualización que permita identificar a éstas. ¿Hay algún cambio en este top 10 antes y después del año 2000?

  • Obtenemos las 10 aerolineas con menor número de muertes en total.
top10_menor_muertes<-airline_safety|>group_by(airline)|>mutate(total_fatalities=sum(fatalities_85_99,fatalities_00_14)) |> arrange((total_fatalities)) |> head(10)

top10_menor_muertes
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Aer Lingus       FALSE                              320906734               2
##  2 Aerolineas Arge… FALSE                              385803648               6
##  3 Air Canada       FALSE                             1865253802               2
##  4 Austrian Airlin… FALSE                              358239823               1
##  5 British Airways  TRUE                              3179760952               4
##  6 Cathay Pacific   TRUE                              2582459303               0
##  7 Finnair          FALSE                              506464950               1
##  8 Hawaiian Airlin… FALSE                              493877795               0
##  9 Qantas           TRUE                              1917428984               1
## 10 Southwest Airli… FALSE                             3276525770               1
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_fatalities <int>
  • Realizamos la visualización de los datos.
ggplot(top10_menor_muertes, aes(x = reorder(airline, total_fatalities), y = total_fatalities)) +
  geom_bar(stat = "identity", fill = "lightblue") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Menor Número de Muertes",
       x = "Aerolínea",
       y = "Número Total de Muertes") +
  theme_minimal()

+ El minimo número de muertes que ha habido desde 1985 hasta 2014 ha sido de 0…un grán número.

  • Hagamos el análisis antes y despues del 2000.
Top10_menor_muertes_85_99<-airline_safety|>group_by(airline)|> mutate(total_fatalities=fatalities_85_99)|>arrange((total_fatalities)) |> head(10)
Top10_menor_muertes_85_99
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Aer Lingus       FALSE                              320906734               2
##  2 Aerolineas Arge… FALSE                              385803648               6
##  3 Air Canada       FALSE                             1865253802               2
##  4 Air New Zealand  TRUE                               710174817               3
##  5 Alaska Airlines  TRUE                               965346773               5
##  6 Austrian Airlin… FALSE                              358239823               1
##  7 British Airways  TRUE                              3179760952               4
##  8 Cathay Pacific   TRUE                              2582459303               0
##  9 Finnair          FALSE                              506464950               1
## 10 Gulf Air         FALSE                              301379762               1
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_fatalities <int>
  • Top 10 muertes despues del 2000
Top10_menor_muertes_00_14<-airline_safety|>group_by(airline)|>mutate(total_fatalities=fatalities_00_14)|> arrange((total_fatalities)) |> head(10)
Top10_menor_muertes_00_14
## # A tibble: 10 × 10
## # Groups:   airline [10]
##    airline          incl_reg_subsidiaries avail_seat_km_per_week incidents_85_99
##    <chr>            <lgl>                                  <dbl>           <int>
##  1 Aer Lingus       FALSE                              320906734               2
##  2 Aerolineas Arge… FALSE                              385803648               6
##  3 Aeromexico       TRUE                               596871813               3
##  4 Air Canada       FALSE                             1865253802               2
##  5 Alitalia         FALSE                              698012498               7
##  6 All Nippon Airw… FALSE                             1841234177               3
##  7 Austrian Airlin… FALSE                              358239823               1
##  8 Avianca          FALSE                              396922563               5
##  9 British Airways  TRUE                              3179760952               4
## 10 Cathay Pacific   TRUE                              2582459303               0
## # ℹ 6 more variables: fatal_accidents_85_99 <int>, fatalities_85_99 <int>,
## #   incidents_00_14 <int>, fatal_accidents_00_14 <int>, fatalities_00_14 <int>,
## #   total_fatalities <int>
  • Finalmente veamos si hubieron diferencias de manera visual entre los diferentes periodos en el Top10 para el mayor número de muertes
ggplot(Top10_menor_muertes_85_99, aes(x = reorder(airline, fatalities_85_99), y = fatalities_85_99)) +
  geom_bar(stat = "identity", fill = "#FF5733") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Menor Número de Muertes (1985-1999)",
       x = "Aerolínea",
       y = "Número de Muertes") +
  theme_minimal()

ggplot(Top10_menor_muertes_00_14, aes(x = reorder(airline, fatalities_00_14), y = fatalities_00_14)) +
  geom_bar(stat = "identity", fill = "#2E86C1") +
  coord_flip() +
  labs(title = "Top 10 Aerolíneas con Menor Número de Muertes (2000-2014)",
       x = "Aerolínea",
       y = "Número de Muertes") +
  theme_minimal()

Sección 3