Análise Exploratória em Dupla sobre Voos de Nova York em 2013

Introdução

Este relatório visa oferecer uma análise do desempenho das companhias aéreas com base nos dados do conjunto NYC flights 13. Ao explorar variáveis críticas como contagem de voos, idade média das aeronaves e distribuições de atrasos, o objetivo é proporcionar insights sobre a operação e os desafios enfrentados pelas principais operadoras aéreas nos Estados Unidos. Reconhecemos que esses dados são fundamentais para entender não apenas a eficiência operacional, mas também para identificar áreas onde melhorias podem ser implementadas para otimizar o serviço ao cliente e a eficácia logística.

O relatório aborda uma metodologia que inclui técnicas estatísticas e visualizações claras, projetadas para oferecer uma representação precisa e informativa dos padrões observados nos voos analisados. Este relatório também destaca a importância de considerar as particularidades de cada companhia aérea, o que pode influenciar diretamente seu desempenho operacional e estratégias de mercado. Ao explorar esses aspectos, buscamos contribuir de maneira significativa para o entendimento das dinâmicas complexas que regem o setor de transporte aéreo.

Ao longo deste relatório, exploraremos não apenas as métricas tradicionais de desempenho das companhias aéreas, mas também as nuances que moldam o panorama operacional dessas entidades. Ao fazê-lo, esperamos não apenas informar, mas também inspirar discussões sobre como melhorar continuamente as operações aéreas, promovendo um serviço mais eficiente e seguro para todos os usuários do transporte aéreo.

Metodologia

Os dados utilizados neste estudo foram obtidos a partir do conjunto de dados nycflights13, que compreende informações detalhadas sobre voos que partiram dos principais aeroportos de Nova York (JFK, LGA, EWR) durante o ano de 2013. Para manipulação, processamento e análise exploratória desses dados, foram empregadas as bibliotecas dplyr e ggplot2, reconhecidas por sua eficiência em operações de transformação de dados e visualização gráfica.

Ferramentas Utilizadas

Durante a elaboração deste relatório, foram utilizadas as seguintes ferramentas e bibliotecas:

dplyr: Essencial para a manipulação e transformação dos dados, permitindo operações como agrupamento, filtragem e cálculos de resumo. ggplot2: Utilizada para criar visualizações claras e informativas dos dados, incluindo gráficos de barras, histogramas e gráficos de dispersão. nycflights13: Conjunto de dados específico que fornece acesso detalhado aos voos de Nova York em 2013, fundamental para todas as análises realizadas. knitr: Utilizado para a geração do relatório em formato R Markdown, integrando código, visualizações e texto explicativo de forma coesa e automatizada.

Funções Específicas de dplyr e ggplot2:

Durante a análise dos dados, foram utilizadas as seguintes funções específicas:

group_by(): Utilizada para agrupar os dados por diferentes categorias, como companhias aéreas e aeroportos de origem, facilitando análises segmentadas. summarise(): Utilizada para calcular medidas resumo, como contagem de voos e médias de atrasos, fornecendo insights quantitativos sobre o desempenho das companhias aéreas. geom_histogram(): Empregada para visualizar a distribuição dos atrasos de partida e chegada, permitindo uma análise detalhada da pontualidade operacional das companhias aéreas.

Resultados e Discussões

Mostrar as primeiras linhas dos dataframes

## Primeiras linhas de airlines:
##   carrier                     name
## 1      9E        Endeavor Air Inc.
## 2      AA   American Airlines Inc.
## 3      AS     Alaska Airlines Inc.
## 4      B6          JetBlue Airways
## 5      DL     Delta Air Lines Inc.
## 6      EV ExpressJet Airlines Inc.
## 
## Primeiras linhas de airports:
##   faa                           name      lat       lon  alt tz dst
## 1 04G              Lansdowne Airport 41.13047 -80.61958 1044 -5   A
## 2 06A  Moton Field Municipal Airport 32.46057 -85.68003  264 -6   A
## 3 06C            Schaumburg Regional 41.98934 -88.10124  801 -6   A
## 4 06N                Randall Airport 41.43191 -74.39156  523 -5   A
## 5 09J          Jekyll Island Airport 31.07447 -81.42778   11 -5   A
## 6 0A9 Elizabethton Municipal Airport 36.37122 -82.17342 1593 -5   A
##              tzone
## 1 America/New_York
## 2  America/Chicago
## 3  America/Chicago
## 4 America/New_York
## 5 America/New_York
## 6 America/New_York
## 
## Primeiras linhas de flights:
##   year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
## 1 2013     1   1      517            515         2      830            819
## 2 2013     1   1      533            529         4      850            830
## 3 2013     1   1      542            540         2      923            850
## 4 2013     1   1      544            545        -1     1004           1022
## 5 2013     1   1      554            600        -6      812            837
## 6 2013     1   1      554            558        -4      740            728
##   arr_delay carrier flight tailnum origin dest air_time distance hour minute
## 1        11      UA   1545  N14228    EWR  IAH      227     1400    5     15
## 2        20      UA   1714  N24211    LGA  IAH      227     1416    5     29
## 3        33      AA   1141  N619AA    JFK  MIA      160     1089    5     40
## 4       -18      B6    725  N804JB    JFK  BQN      183     1576    5     45
## 5       -25      DL    461  N668DN    LGA  ATL      116      762    6      0
## 6        12      UA   1696  N39463    EWR  ORD      150      719    5     58
##              time_hour
## 1 2013-01-01T10:00:00Z
## 2 2013-01-01T10:00:00Z
## 3 2013-01-01T10:00:00Z
## 4 2013-01-01T10:00:00Z
## 5 2013-01-01T11:00:00Z
## 6 2013-01-01T10:00:00Z
## 
## Primeiras linhas de weather:
##   origin year month day hour  temp  dewp humid wind_dir wind_speed wind_gust
## 1    EWR 2013     1   1    1 39.02 26.06 59.37      270   10.35702        NA
## 2    EWR 2013     1   1    2 39.02 26.96 61.63      250    8.05546        NA
## 3    EWR 2013     1   1    3 39.02 28.04 64.43      240   11.50780        NA
## 4    EWR 2013     1   1    4 39.92 28.04 62.21      250   12.65858        NA
## 5    EWR 2013     1   1    5 39.02 28.04 64.43      260   12.65858        NA
## 6    EWR 2013     1   1    6 37.94 28.04 67.21      240   11.50780        NA
##   precip pressure visib            time_hour
## 1      0   1012.0    10 2013-01-01T06:00:00Z
## 2      0   1012.3    10 2013-01-01T07:00:00Z
## 3      0   1012.5    10 2013-01-01T08:00:00Z
## 4      0   1012.2    10 2013-01-01T09:00:00Z
## 5      0   1011.9    10 2013-01-01T10:00:00Z
## 6      0   1012.4    10 2013-01-01T11:00:00Z

Mostrar o resumo estatístico dos dataframes

## 
## Resumo estatístico de airlines:
##    carrier              name          
##  Length:16          Length:16         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character
## 
## Resumo estatístico de airports:
##      faa                name                lat             lon         
##  Length:1458        Length:1458        Min.   :19.72   Min.   :-176.65  
##  Class :character   Class :character   1st Qu.:34.26   1st Qu.:-119.19  
##  Mode  :character   Mode  :character   Median :40.09   Median : -94.66  
##                                        Mean   :41.65   Mean   :-103.39  
##                                        3rd Qu.:45.07   3rd Qu.: -82.52  
##                                        Max.   :72.27   Max.   : 174.11  
##       alt                tz              dst               tzone          
##  Min.   : -54.00   Min.   :-10.000   Length:1458        Length:1458       
##  1st Qu.:  70.25   1st Qu.: -8.000   Class :character   Class :character  
##  Median : 473.00   Median : -6.000   Mode  :character   Mode  :character  
##  Mean   :1001.42   Mean   : -6.519                                        
##  3rd Qu.:1062.50   3rd Qu.: -5.000                                        
##  Max.   :9078.00   Max.   :  8.000
## 
## Resumo estatístico de flights:
##       year          month             day           dep_time    sched_dep_time
##  Min.   :2013   Min.   : 1.000   Min.   : 1.00   Min.   :   1   Min.   : 106  
##  1st Qu.:2013   1st Qu.: 4.000   1st Qu.: 8.00   1st Qu.: 907   1st Qu.: 906  
##  Median :2013   Median : 7.000   Median :16.00   Median :1401   Median :1359  
##  Mean   :2013   Mean   : 6.549   Mean   :15.71   Mean   :1349   Mean   :1344  
##  3rd Qu.:2013   3rd Qu.:10.000   3rd Qu.:23.00   3rd Qu.:1744   3rd Qu.:1729  
##  Max.   :2013   Max.   :12.000   Max.   :31.00   Max.   :2400   Max.   :2359  
##                                                  NA's   :8255                 
##    dep_delay          arr_time    sched_arr_time   arr_delay       
##  Min.   : -43.00   Min.   :   1   Min.   :   1   Min.   : -86.000  
##  1st Qu.:  -5.00   1st Qu.:1104   1st Qu.:1124   1st Qu.: -17.000  
##  Median :  -2.00   Median :1535   Median :1556   Median :  -5.000  
##  Mean   :  12.64   Mean   :1502   Mean   :1536   Mean   :   6.895  
##  3rd Qu.:  11.00   3rd Qu.:1940   3rd Qu.:1945   3rd Qu.:  14.000  
##  Max.   :1301.00   Max.   :2400   Max.   :2359   Max.   :1272.000  
##  NA's   :8255      NA's   :8713                  NA's   :9430      
##    carrier              flight       tailnum             origin         
##  Length:336776      Min.   :   1   Length:336776      Length:336776     
##  Class :character   1st Qu.: 553   Class :character   Class :character  
##  Mode  :character   Median :1496   Mode  :character   Mode  :character  
##                     Mean   :1972                                        
##                     3rd Qu.:3465                                        
##                     Max.   :8500                                        
##                                                                         
##      dest              air_time        distance         hour      
##  Length:336776      Min.   : 20.0   Min.   :  17   Min.   : 1.00  
##  Class :character   1st Qu.: 82.0   1st Qu.: 502   1st Qu.: 9.00  
##  Mode  :character   Median :129.0   Median : 872   Median :13.00  
##                     Mean   :150.7   Mean   :1040   Mean   :13.18  
##                     3rd Qu.:192.0   3rd Qu.:1389   3rd Qu.:17.00  
##                     Max.   :695.0   Max.   :4983   Max.   :23.00  
##                     NA's   :9430                                  
##      minute       time_hour        
##  Min.   : 0.00   Length:336776     
##  1st Qu.: 8.00   Class :character  
##  Median :29.00   Mode  :character  
##  Mean   :26.23                     
##  3rd Qu.:44.00                     
##  Max.   :59.00                     
## 
## 
## Resumo estatístico de weather:
##     origin               year          month             day       
##  Length:26115       Min.   :2013   Min.   : 1.000   Min.   : 1.00  
##  Class :character   1st Qu.:2013   1st Qu.: 4.000   1st Qu.: 8.00  
##  Mode  :character   Median :2013   Median : 7.000   Median :16.00  
##                     Mean   :2013   Mean   : 6.504   Mean   :15.68  
##                     3rd Qu.:2013   3rd Qu.: 9.000   3rd Qu.:23.00  
##                     Max.   :2013   Max.   :12.000   Max.   :31.00  
##                                                                    
##       hour            temp             dewp           humid       
##  Min.   : 0.00   Min.   : 10.94   Min.   :-9.94   Min.   : 12.74  
##  1st Qu.: 6.00   1st Qu.: 39.92   1st Qu.:26.06   1st Qu.: 47.05  
##  Median :11.00   Median : 55.40   Median :42.08   Median : 61.79  
##  Mean   :11.49   Mean   : 55.26   Mean   :41.44   Mean   : 62.53  
##  3rd Qu.:17.00   3rd Qu.: 69.98   3rd Qu.:57.92   3rd Qu.: 78.79  
##  Max.   :23.00   Max.   :100.04   Max.   :78.08   Max.   :100.00  
##                  NA's   :1        NA's   :1       NA's   :1       
##     wind_dir       wind_speed         wind_gust         precip        
##  Min.   :  0.0   Min.   :   0.000   Min.   :16.11   Min.   :0.000000  
##  1st Qu.:120.0   1st Qu.:   6.905   1st Qu.:20.71   1st Qu.:0.000000  
##  Median :220.0   Median :  10.357   Median :24.17   Median :0.000000  
##  Mean   :199.8   Mean   :  10.518   Mean   :25.49   Mean   :0.004469  
##  3rd Qu.:290.0   3rd Qu.:  13.809   3rd Qu.:28.77   3rd Qu.:0.000000  
##  Max.   :360.0   Max.   :1048.361   Max.   :66.75   Max.   :1.210000  
##  NA's   :460     NA's   :4          NA's   :20778                     
##     pressure          visib         time_hour        
##  Min.   : 983.8   Min.   : 0.000   Length:26115      
##  1st Qu.:1012.9   1st Qu.:10.000   Class :character  
##  Median :1017.6   Median :10.000   Mode  :character  
##  Mean   :1017.9   Mean   : 9.255                     
##  3rd Qu.:1023.0   3rd Qu.:10.000                     
##  Max.   :1042.1   Max.   :10.000                     
##  NA's   :2729

Dados sobre as companhias Aéreas:

______________________________________________________________________________________________________________

Contagem Exata de Voos por Companhia Aérea (Tabela)

A tabela abaixo apresenta a contagem exata de voos por companhia aérea, juntamente com medidas de variação que destacam a distribuição dos voos entre as operadoras. Essa análise é crucial para entender a participação de mercado de cada companhia aérea e sua capacidade operacional relativa.

Contagem de Voos por Companhia Aérea e Medidas de Variação
carrier total_voos name
UA 58665 United Air Lines Inc. 
B6 54635 JetBlue Airways
EV 54173 ExpressJet Airlines Inc. 
DL 48110 Delta Air Lines Inc. 
AA 32729 American Airlines Inc. 
MQ 26397 Envoy Air
US 20536 US Airways Inc. 
9E 18460 Endeavor Air Inc. 
WN 12275 Southwest Airlines Co. 
VX 5162 Virgin America
FL 3260 AirTran Airways Corporation
AS 714 Alaska Airlines Inc. 
F9 685 Frontier Airlines Inc. 
YV 601 Mesa Airlines Inc. 
HA 342 Hawaiian Airlines Inc. 
OO 32 SkyWest Airlines Inc. 
Total 336776 Total

______________________________________________________________________________________________________________

Já a análise das medidas de variação(Tabela abaixo) conseguimos perceber os seguintes pontos:

  • Amplitude: A amplitude representa a diferença entre o maior e o menor número de voos entre as companhias aéreas. No seu caso, a diferença é de aproximadamente 58,633 voos, indicando uma variação considerável na quantidade de voos entre as companhias aéreas.

  • Variância: A variância é uma medida de dispersão que indica o quão distantes os números estão da média. No seu conjunto de dados, a variância é de aproximadamente 487,141,200, mostrando uma dispersão significativa na quantidade de voos entre as companhias aéreas.

  • Desvio Padrão: O desvio padrão é a raiz quadrada da variância e fornece uma medida de dispersão mais intuitiva. Aqui, o desvio padrão é de aproximadamente 22,071 voos, o que indica que a quantidade de voos varia em média cerca de 22,071 voos em relação à média.

  • Coeficiente de Variação (Coef. de Variação): O coeficiente de variação é uma medida de variabilidade relativa e é calculado como o desvio padrão dividido pela média, expresso em porcentagem. No seu caso, o coeficiente de variação é aproximadamente 104.8591%, indicando uma variabilidade considerável na quantidade de voos entre as companhias aéreas em relação à média.

  • CV (%): O coeficiente de variação em porcentagem é uma forma de interpretar o coeficiente de variação. Aqui, representa que a variabilidade na quantidade de voos entre as companhias aéreas é de aproximadamente 104.8591% em relação à média, refletindo uma considerável dispersão dos dados.

Medidas de Variação da Quantidade de Voos por Companhia Aérea
Medida Valor
Amplitude 5.863300e+04
Variância 4.871412e+08
Desvio Padrão 2.207127e+04
Coef. de Variação 1.048591e+00
CV (%) 1.048591e+02

______________________________________________________________________________________________________________

Gráfico de pontos: Idades médias dos Aviões de cada companhia aérea

O gráfico de pontos abaixo apresenta a idade média dos aviões de cada companhia aérea, calculada com base nos anos de fabricação dos aviões. Esta análise é crucial para avaliar a eficiência operacional e a estratégia de modernização da frota de cada operadora.

A partir do gráfico, observamos que algumas companhias aéreas possuem uma frota relativamente mais antiga em comparação com outras, o que pode afetar tanto os custos operacionais quanto a experiência do passageiro. A idade média da frota é um indicador importante de investimentos em modernização e eficiência energética, sendo vital para a competitividade no mercado aéreo.

______________________________________________________________________________________________________________

Análise do Desempenho das Companhias Aéreas

Distribuição dos Atrasos de Partida

O histograma abaixo ilustra a distribuição dos atrasos de partida dos voos, fornecendo insights sobre a pontualidade operacional das companhias aéreas no conjunto de dados analisado.

Histograma dos atrasos de partida

A análise do histograma revela uma distribuição assimétrica dos atrasos de partida, com a maioria dos voos partindo dentro do horário programado ou com pequenos atrasos. No entanto, há uma cauda longa à direita, indicando a presença de voos com atrasos substanciais, que podem impactar a experiência do passageiro e a eficiência operacional. A compreensão dessa distribuição é crucial para identificar padrões operacionais e áreas para melhorias na gestão de horários e planejamento de voos.

______________________________________________________________________________________________________________

Distribuição dos Atrasos de Chegada

Analogamente aos atrasos de partida, o histograma dos atrasos de chegada oferece uma visão detalhada da pontualidade operacional das companhias aéreas, destacando padrões de desempenho que impactam a experiência do passageiro e a eficiência operacional.

Histograma dos atrasos de chegada

A análise do histograma revela que a maioria dos voos chega dentro do horário programado ou com pequenos atrasos, refletindo práticas eficazes de gestão de horários e controle operacional. No entanto, a presença de uma cauda longa à direita indica a ocorrência de atrasos significativos em alguns voos, que podem ser atribuídos a fatores operacionais ou condições externas. Como na análise anterior dos atrasos de partida, aqui também é importante compreender essa distribuição para aprimorar estratégias de gerenciamento de horários e mitigação de atrasos, melhorando assim a experiência do passageiro e a eficiência operacional.

Em resumo, tanto a distribuição dos atrasos de partida quanto a dos atrasos de chegada mostram padrões semelhantes de comportamento. A maioria dos voos opera com pequenos atrasos, mas a presença de atrasos significativos, embora menos frequente, pode ter um impacto desproporcional no sistema de transporte aéreo. Analisar esses atrasos é crucial para identificar as causas e implementar medidas corretivas para melhorar a eficiência e a pontualidade dos voos.

______________________________________________________________________________________________________________

Atrasos Médios por companhia Aérea

A tabela a seguir apresenta a média dos atrasos de partida e de chegada por companhia aérea. Essas métricas são fundamentais para avaliar o desempenho operacional de cada operadora em termos de pontualidade e eficiência.

Cálculo dos Atrasos Médios por Companhia Aérea

Média dos Atrasos de Partida e Chegada por Companhia Aérea
Companhia Media_Partida Media_Chegada
Endeavor Air Inc.  16.725769 7.3796692
American Airlines Inc.  8.586016 0.3642909
Alaska Airlines Inc.  5.804775 -9.9308886
JetBlue Airways 13.022522 9.4579733
Delta Air Lines Inc.  9.264504 1.6443409
ExpressJet Airlines Inc.  19.955390 15.7964311
Frontier Airlines Inc.  20.215543 21.9207048
AirTran Airways Corporation 18.726075 20.1159055
Hawaiian Airlines Inc.  4.900585 -6.9152047
Envoy Air 10.552041 10.7747334
SkyWest Airlines Inc.  12.586207 11.9310345
United Air Lines Inc.  12.106073 3.5580111
US Airways Inc.  3.782418 2.1295951
Virgin America 12.869421 1.7644644
Southwest Airlines Co.  17.711744 9.6491199
Mesa Airlines Inc.  18.996330 15.5569853

A análise das médias de atraso de partida e chegada revela diferenças significativas no desempenho de pontualidade entre as companhias aéreas. Com base nessas métricas, é possível identificar operadoras com melhor desempenho em termos de pontualidade e aquelas que podem precisar de melhorias operacionais específicas. Esses dados são cruciais para a gestão eficaz de horários e para aprimorar a experiência do passageiro.

______________________________________________________________________________________________________________

taxas de cancelamento de voos por companhia aérea

O gráfico de barras abaixo apresenta as taxas de cancelamento de voos por companhia aérea, destacando a confiabilidade operacional de cada operadora em relação aos cancelamentos de voos..

A análise do gráfico revela variações significativas nas taxas de cancelamento entre as companhias aéreas analisadas. Algumas operadoras apresentam taxas mais altas de cancelamento, o que pode afetar a confiança do passageiro e a reputação da empresa. Esses insights são cruciais para identificar áreas de melhoria na gestão operacional e no planejamento de contingências, visando reduzir cancelamentos e melhorar a satisfação do cliente.

______________________________________________________________________________________________________________

Conclusão

Em síntese, este relatório proporcionou uma análise detalhada do desempenho das companhias aéreas nos aeroportos de Nova York em 2013, destacando variações significativas na operação e na pontualidade entre as diferentes operadoras. Ao examinar a idade média das aeronaves, a distribuição dos atrasos e as taxas de cancelamento, identificamos áreas críticas para melhorias operacionais e estratégicas. Esses insights são fundamentais não apenas para otimizar a eficiência e a confiabilidade dos serviços aéreos, mas também para aprimorar a experiência do passageiro e fortalecer a competitividade das companhias no mercado.

Além disso, este estudo sublinha a importância contínua de dados precisos e análises detalhadas no setor de aviação. A busca constante por práticas operacionais mais eficientes e sustentáveis é essencial para enfrentar os desafios futuros e atender às expectativas crescentes dos passageiros. Ao colaborar na identificação de áreas de oportunidade, este relatório visa mostrar que se pode haver uma evolução contínua no setor, promovendo um transporte aéreo mais seguro, confiável e eficiente para todos os usuários.

Referências

Anexos

# Carregar pacotes necessários
library(knitr)
library(dplyr)
library(ggplot2)
library(kableExtra)
library(nycflights13)

# Definir os caminhos dos arquivos CSV
caminho_arquivo_airlines <- "C:/Users/Administrator/Desktop/TrabalhoR/nyc_airlines.csv"
caminho_arquivo_airports <- "C:/Users/Administrator/Desktop/TrabalhoR/nyc_airports.csv"
caminho_arquivo_flights <- "C:/Users/Administrator/Desktop/TrabalhoR/nyc_flights.csv"
caminho_arquivo_planes <- "C:/Users/Administrator/Desktop/TrabalhoR/nyc_planes.csv"
caminho_arquivo_weather <- "C:/Users/Administrator/Desktop/TrabalhoR/nyc_weather.csv"

# Carregar os dados
airlines <- read.csv(caminho_arquivo_airlines)
airports <- read.csv(caminho_arquivo_airports)
flights <- read.csv(caminho_arquivo_flights)
weather <- read.csv(caminho_arquivo_weather)

# Mostrar as primeiras linhas dos dataframes
cat("Primeiras linhas de airlines:\n")
print(head(airlines))

cat("\nPrimeiras linhas de airports:\n")
print(head(airports))

cat("\nPrimeiras linhas de flights:\n")
print(head(flights))

cat("\nPrimeiras linhas de weather:\n")
print(head(weather))

cat("\nResumo estatístico de airlines:\n")
print(summary(airlines))

cat("\nResumo estatístico de airports:\n")
print(summary(airports))

cat("\nResumo estatístico de flights:\n")
print(summary(flights))

cat("\nResumo estatístico de weather:\n")
print(summary(weather))


# Calcular contagem de voos por companhia aérea
contagem_voos <- flights %>%
  group_by(carrier) %>%
  summarise(total_voos = n()) %>%
  arrange(desc(total_voos))

# Juntar com o conjunto de dados airlines para obter o nome da companhia aérea
contagem_voos <- contagem_voos %>%
  left_join(airlines, by = "carrier")

# Calcular medidas de variação
amplitude <- max(contagem_voos$total_voos) - min(contagem_voos$total_voos)
variancia <- var(contagem_voos$total_voos)
desvio_padrao <- sd(contagem_voos$total_voos)
coef_variacao <- desvio_padrao / mean(contagem_voos$total_voos)
cv_percentual <- coef_variacao * 100

# Adicionar total de voos no final da tabela
total_voos <- sum(contagem_voos$total_voos)
contagem_voos <- rbind(contagem_voos, data.frame(carrier = "Total", total_voos = total_voos, name = "Total"))

# Tabela de contagem de voos por companhia aérea com estilo melhorado
tabela_voos <- contagem_voos %>%
  kable(caption = "Contagem de Voos por Companhia Aérea e Medidas de Variação",
        format = "html", align = "c") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed", "responsive"),
                position = "center", font_size = 14) %>%
  column_spec(1, bold = TRUE)  # Especifica a primeira coluna em negrito

# Tabela com medidas de variação
medidas_variacao <- data.frame(
  Medida = c("Amplitude", "Variância", "Desvio Padrão", "Coef. de Variação", "CV (%)"),
  Valor = format(c(amplitude, variancia, desvio_padrao, coef_variacao, cv_percentual), nsmall = 6)
)

tabela_variacao <- medidas_variacao %>%
  kable(caption = "Medidas de Variação da Quantidade de Voos por Companhia Aérea",
        format = "html", align = "c") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed", "responsive"),
                position = "center", font_size = 14) %>%
  column_spec(1, bold = TRUE)  # Especifica a primeira coluna em negrito

# Calcular a idade média dos aviões por companhia aérea
idade_media_avioes <- flights_planes %>%
  group_by(carrier) %>%
  summarise(idade_media = mean(2024 - year.x, na.rm = TRUE))  # Certifique-se de usar na.rm = TRUE se houver NA's

# Criar gráfico de pontos
ggplot(idade_media_avioes, aes(x = carrier, y = idade_media)) +
  geom_point(size = 3, color = "skyblue") +
  labs(title = "Idade Média dos Aviões por Companhia Aérea",
       x = "Companhia Aérea",
       y = "Idade Média dos Aviões",
       caption = "Baseado nos anos de fabricação dos aviões") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  geom_text(aes(label = round(idade_media, 1)), vjust = -0.5, size = 3)

# Histograma dos atrasos de partida
ggplot(flights, aes(x = dep_delay)) +
  geom_histogram(binwidth = 5, fill = "blue", color = "black", alpha = 0.7) +
  labs(title = "Distribuição dos Atrasos de Partida", x = "Atraso de Partida (minutos)", y = "Frequência") +
  xlim(c(-50, 300)) +
  theme_minimal()

# Histograma dos atrasos de chegada
ggplot(flights, aes(x = arr_delay)) +
  geom_histogram(binwidth = 5, fill = "red", color = "black", alpha = 0.7) +
  labs(title = "Distribuição dos Atrasos de Chegada", x = "Atraso de Chegada (minutos)", y = "Frequência") +
  xlim(c(-50, 300)) +
  theme_minimal()

# Calcular atrasos médios por companhia aérea
atrasos_medios <- flights %>%
  group_by(carrier) %>%
  summarise(media_atraso_partida = mean(dep_delay, na.rm = TRUE),
            media_atraso_chegada = mean(arr_delay, na.rm = TRUE))

# Juntar com dados das companhias aéreas
atrasos_medios <- left_join(atrasos_medios, airlines, by = "carrier")

# Criar dataframe com os resultados
resultados <- data.frame(
  Companhia = atrasos_medios$name,
  Media_Partida = atrasos_medios$media_atraso_partida,
  Media_Chegada = atrasos_medios$media_atraso_chegada
)

# Criar a tabela usando kable e kableExtra para estilização
tabela_resultados <- resultados %>%
  kable(caption = "<span style='font-size: 18px; font-weight: bold;'>Média dos Atrasos de Partida e Chegada por Companhia Aérea</span>",
        format = "html", align = "c") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed", "responsive"),
                position = "center", font_size = 14) %>%
  column_spec(1, bold = TRUE)  # Coluna de Companhia em negrito

# Gráfico de Barras para Taxas de Cancelamento por Companhia Aérea
ggplot(cancelamentos, aes(x = reorder(name, taxa_cancelamento), y = taxa_cancelamento)) +
  geom_bar(stat = "identity", fill = "blue", alpha = 0.7) +
  labs(title = "Taxas de Cancelamento por Companhia Aérea",
       x = "Companhia Aérea",
       y = "Taxa de Cancelamento") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))