Describing the data
six_airlines<-read.csv("SixAirlinesDataV2.csv" )
str(six_airlines)
## 'data.frame': 458 obs. of 18 variables:
## $ Airline : Factor w/ 6 levels "AirFrance","British",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ Aircraft : Factor w/ 2 levels "AirBus","Boeing": 2 2 2 2 2 2 2 2 2 2 ...
## $ FlightDuration : num 12.25 12.25 12.25 12.25 8.16 ...
## $ TravelMonth : Factor w/ 4 levels "Aug","Jul","Oct",..: 2 1 4 3 1 4 3 1 4 4 ...
## $ IsInternational : Factor w/ 2 levels "Domestic","International": 2 2 2 2 2 2 2 2 2 2 ...
## $ SeatsEconomy : int 122 122 122 122 122 122 122 122 122 122 ...
## $ SeatsPremium : int 40 40 40 40 40 40 40 40 40 40 ...
## $ PitchEconomy : int 31 31 31 31 31 31 31 31 31 31 ...
## $ PitchPremium : int 38 38 38 38 38 38 38 38 38 38 ...
## $ WidthEconomy : int 18 18 18 18 18 18 18 18 18 18 ...
## $ WidthPremium : int 19 19 19 19 19 19 19 19 19 19 ...
## $ PriceEconomy : int 2707 2707 2707 2707 1793 1793 1793 1476 1476 1705 ...
## $ PricePremium : int 3725 3725 3725 3725 2999 2999 2999 2997 2997 2989 ...
## $ PriceRelative : num 0.38 0.38 0.38 0.38 0.67 0.67 0.67 1.03 1.03 0.75 ...
## $ SeatsTotal : int 162 162 162 162 162 162 162 162 162 162 ...
## $ PitchDifference : int 7 7 7 7 7 7 7 7 7 7 ...
## $ WidthDifference : int 1 1 1 1 1 1 1 1 1 1 ...
## $ PercentPremiumSeats: num 24.7 24.7 24.7 24.7 24.7 ...
library(psych)
describe(six_airlines)
## vars n mean sd median trimmed mad min
## Airline* 1 458 3.01 1.65 2.00 2.89 1.48 1.00
## Aircraft* 2 458 1.67 0.47 2.00 1.71 0.00 1.00
## FlightDuration 3 458 7.58 3.54 7.79 7.57 4.81 1.25
## TravelMonth* 4 458 2.56 1.17 3.00 2.58 1.48 1.00
## IsInternational* 5 458 1.91 0.28 2.00 2.00 0.00 1.00
## SeatsEconomy 6 458 202.31 76.37 185.00 194.64 85.99 78.00
## SeatsPremium 7 458 33.65 13.26 36.00 33.35 11.86 8.00
## PitchEconomy 8 458 31.22 0.66 31.00 31.26 0.00 30.00
## PitchPremium 9 458 37.91 1.31 38.00 38.05 0.00 34.00
## WidthEconomy 10 458 17.84 0.56 18.00 17.81 0.00 17.00
## WidthPremium 11 458 19.47 1.10 19.00 19.53 0.00 17.00
## PriceEconomy 12 458 1327.08 988.27 1242.00 1244.40 1159.39 65.00
## PricePremium 13 458 1845.26 1288.14 1737.00 1799.05 1845.84 86.00
## PriceRelative 14 458 0.49 0.45 0.36 0.42 0.41 0.02
## SeatsTotal 15 458 235.96 85.29 227.00 228.73 90.44 98.00
## PitchDifference 16 458 6.69 1.76 7.00 6.76 0.00 2.00
## WidthDifference 17 458 1.63 1.19 1.00 1.53 0.00 0.00
## PercentPremiumSeats 18 458 14.65 4.84 13.21 14.31 2.68 4.71
## max range skew kurtosis se
## Airline* 6.00 5.00 0.61 -0.95 0.08
## Aircraft* 2.00 1.00 -0.72 -1.48 0.02
## FlightDuration 14.66 13.41 -0.07 -1.12 0.17
## TravelMonth* 4.00 3.00 -0.14 -1.46 0.05
## IsInternational* 2.00 1.00 -2.91 6.50 0.01
## SeatsEconomy 389.00 311.00 0.72 -0.36 3.57
## SeatsPremium 66.00 58.00 0.23 -0.46 0.62
## PitchEconomy 33.00 3.00 -0.03 -0.35 0.03
## PitchPremium 40.00 6.00 -1.51 3.52 0.06
## WidthEconomy 19.00 2.00 -0.04 -0.08 0.03
## WidthPremium 21.00 4.00 -0.08 -0.31 0.05
## PriceEconomy 3593.00 3528.00 0.51 -0.88 46.18
## PricePremium 7414.00 7328.00 0.50 0.43 60.19
## PriceRelative 1.89 1.87 1.17 0.72 0.02
## SeatsTotal 441.00 343.00 0.70 -0.53 3.99
## PitchDifference 10.00 8.00 -0.54 1.78 0.08
## WidthDifference 4.00 4.00 0.84 -0.53 0.06
## PercentPremiumSeats 24.69 19.98 0.71 0.28 0.23
summary(six_airlines)
## Airline Aircraft FlightDuration TravelMonth
## AirFrance: 74 AirBus:151 Min. : 1.250 Aug:127
## British :175 Boeing:307 1st Qu.: 4.260 Jul: 75
## Delta : 46 Median : 7.790 Oct:127
## Jet : 61 Mean : 7.578 Sep:129
## Singapore: 40 3rd Qu.:10.620
## Virgin : 62 Max. :14.660
## IsInternational SeatsEconomy SeatsPremium PitchEconomy
## Domestic : 40 Min. : 78.0 Min. : 8.00 Min. :30.00
## International:418 1st Qu.:133.0 1st Qu.:21.00 1st Qu.:31.00
## Median :185.0 Median :36.00 Median :31.00
## Mean :202.3 Mean :33.65 Mean :31.22
## 3rd Qu.:243.0 3rd Qu.:40.00 3rd Qu.:32.00
## Max. :389.0 Max. :66.00 Max. :33.00
## PitchPremium WidthEconomy WidthPremium PriceEconomy
## Min. :34.00 Min. :17.00 Min. :17.00 Min. : 65
## 1st Qu.:38.00 1st Qu.:18.00 1st Qu.:19.00 1st Qu.: 413
## Median :38.00 Median :18.00 Median :19.00 Median :1242
## Mean :37.91 Mean :17.84 Mean :19.47 Mean :1327
## 3rd Qu.:38.00 3rd Qu.:18.00 3rd Qu.:21.00 3rd Qu.:1909
## Max. :40.00 Max. :19.00 Max. :21.00 Max. :3593
## PricePremium PriceRelative SeatsTotal PitchDifference
## Min. : 86.0 Min. :0.0200 Min. : 98 Min. : 2.000
## 1st Qu.: 528.8 1st Qu.:0.1000 1st Qu.:166 1st Qu.: 6.000
## Median :1737.0 Median :0.3650 Median :227 Median : 7.000
## Mean :1845.3 Mean :0.4872 Mean :236 Mean : 6.688
## 3rd Qu.:2989.0 3rd Qu.:0.7400 3rd Qu.:279 3rd Qu.: 7.000
## Max. :7414.0 Max. :1.8900 Max. :441 Max. :10.000
## WidthDifference PercentPremiumSeats
## Min. :0.000 Min. : 4.71
## 1st Qu.:1.000 1st Qu.:12.28
## Median :1.000 Median :13.21
## Mean :1.633 Mean :14.65
## 3rd Qu.:3.000 3rd Qu.:15.36
## Max. :4.000 Max. :24.69
attach(six_airlines)
Visualizations
boxplot(FlightDuration~Aircraft,data=six_airlines,xlab="Aircraft type", ylab="Flight duration",col = c("green","blue"))

boxplot(FlightDuration~Airline,data=six_airlines,xlab="Airline name", ylab="Flight duration",col = c("green","blue","red"))

library(ggplot2)
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
ggplot(six_airlines, aes(PricePremium, FlightDuration)) + geom_point(aes(color = Airline)) + scale_x_continuous("Premium ticket") + scale_y_continuous("Flight duration") + theme_bw() + labs(title="Scatterplot of ticket prices") + facet_wrap( ~ TravelMonth)

ggplot(six_airlines, aes(PriceEconomy, FlightDuration)) + geom_point(aes(color = Airline)) + scale_x_continuous("Premium ticket") + scale_y_continuous("Flight duration") + theme_bw() + labs(title="Scatterplot of ticket prices") + facet_wrap( ~ TravelMonth)

library(corrgram)
corrgram(six_airlines, order=NULL, panel=panel.cor,text.panel=panel.txt,main="Correlogram")

Observations:-
We can see that the price of tickets both premium and economy class increase with increase in flight duration which makes sense. ###### Besides the obvious indicators and as depicted by the correlogram we can say that the relative price increases with an increase in the width of premium class seats. ###### Also, price of economy ticket rises with the pitch of economy class seats, which in turn increase the price of premium tickets as shown by the correlogram.
Testing and modelling:-
The Null hypothesis states that there is no significant correlation between relative price and width of premium class seats and there is no significant correlation between price of economy tickets and the pitch of economy class seats.
cor.test(PriceRelative,WidthPremium)
##
## Pearson's product-moment correlation
##
## data: PriceRelative and WidthPremium
## t = 12.469, df = 456, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.4326084 0.5695593
## sample estimates:
## cor
## 0.5042476
cor.test(PriceEconomy,PitchEconomy)
##
## Pearson's product-moment correlation
##
## data: PriceEconomy and PitchEconomy
## t = 8.469, df = 456, p-value = 3.428e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.2867196 0.4452479
## sample estimates:
## cor
## 0.3686612
library(psych)
corr.test(six_airlines[,c(6:18)])
## Call:corr.test(x = six_airlines[, c(6:18)])
## Correlation matrix
## SeatsEconomy SeatsPremium PitchEconomy PitchPremium
## SeatsEconomy 1.00 0.63 0.14 0.12
## SeatsPremium 0.63 1.00 -0.03 0.00
## PitchEconomy 0.14 -0.03 1.00 -0.55
## PitchPremium 0.12 0.00 -0.55 1.00
## WidthEconomy 0.37 0.46 0.29 -0.02
## WidthPremium 0.10 0.00 -0.54 0.75
## PriceEconomy 0.13 0.11 0.37 0.05
## PricePremium 0.18 0.22 0.23 0.09
## PriceRelative 0.00 -0.10 -0.42 0.42
## SeatsTotal 0.99 0.72 0.12 0.11
## PitchDifference 0.04 0.02 -0.78 0.95
## WidthDifference -0.08 -0.22 -0.64 0.70
## PercentPremiumSeats -0.33 0.49 -0.10 -0.18
## WidthEconomy WidthPremium PriceEconomy PricePremium
## SeatsEconomy 0.37 0.10 0.13 0.18
## SeatsPremium 0.46 0.00 0.11 0.22
## PitchEconomy 0.29 -0.54 0.37 0.23
## PitchPremium -0.02 0.75 0.05 0.09
## WidthEconomy 1.00 0.08 0.07 0.15
## WidthPremium 0.08 1.00 -0.06 0.06
## PriceEconomy 0.07 -0.06 1.00 0.90
## PricePremium 0.15 0.06 0.90 1.00
## PriceRelative -0.04 0.50 -0.29 0.03
## SeatsTotal 0.41 0.09 0.13 0.19
## PitchDifference -0.13 0.76 -0.10 -0.02
## WidthDifference -0.39 0.88 -0.08 -0.01
## PercentPremiumSeats 0.23 -0.18 0.07 0.12
## PriceRelative SeatsTotal PitchDifference
## SeatsEconomy 0.00 0.99 0.04
## SeatsPremium -0.10 0.72 0.02
## PitchEconomy -0.42 0.12 -0.78
## PitchPremium 0.42 0.11 0.95
## WidthEconomy -0.04 0.41 -0.13
## WidthPremium 0.50 0.09 0.76
## PriceEconomy -0.29 0.13 -0.10
## PricePremium 0.03 0.19 -0.02
## PriceRelative 1.00 -0.01 0.47
## SeatsTotal -0.01 1.00 0.03
## PitchDifference 0.47 0.03 1.00
## WidthDifference 0.49 -0.11 0.76
## PercentPremiumSeats -0.16 -0.22 -0.09
## WidthDifference PercentPremiumSeats
## SeatsEconomy -0.08 -0.33
## SeatsPremium -0.22 0.49
## PitchEconomy -0.64 -0.10
## PitchPremium 0.70 -0.18
## WidthEconomy -0.39 0.23
## WidthPremium 0.88 -0.18
## PriceEconomy -0.08 0.07
## PricePremium -0.01 0.12
## PriceRelative 0.49 -0.16
## SeatsTotal -0.11 -0.22
## PitchDifference 0.76 -0.09
## WidthDifference 1.00 -0.28
## PercentPremiumSeats -0.28 1.00
## Sample Size
## [1] 458
## Probability values (Entries above the diagonal are adjusted for multiple tests.)
## SeatsEconomy SeatsPremium PitchEconomy PitchPremium
## SeatsEconomy 0.00 0.00 0.08 0.35
## SeatsPremium 0.00 0.00 1.00 1.00
## PitchEconomy 0.00 0.47 0.00 0.00
## PitchPremium 0.01 0.92 0.00 0.00
## WidthEconomy 0.00 0.00 0.00 0.61
## WidthPremium 0.03 0.95 0.00 0.00
## PriceEconomy 0.01 0.01 0.00 0.28
## PricePremium 0.00 0.00 0.00 0.06
## PriceRelative 0.93 0.04 0.00 0.00
## SeatsTotal 0.00 0.00 0.01 0.02
## PitchDifference 0.45 0.73 0.00 0.00
## WidthDifference 0.08 0.00 0.00 0.00
## PercentPremiumSeats 0.00 0.00 0.03 0.00
## WidthEconomy WidthPremium PriceEconomy PricePremium
## SeatsEconomy 0.00 0.78 0.22 0.01
## SeatsPremium 0.00 1.00 0.46 0.00
## PitchEconomy 0.00 0.00 0.00 0.00
## PitchPremium 1.00 0.00 1.00 1.00
## WidthEconomy 0.00 1.00 1.00 0.05
## WidthPremium 0.08 0.00 1.00 1.00
## PriceEconomy 0.15 0.22 0.00 0.00
## PricePremium 0.00 0.17 0.00 0.00
## PriceRelative 0.35 0.00 0.00 0.50
## SeatsTotal 0.00 0.05 0.00 0.00
## PitchDifference 0.01 0.00 0.03 0.70
## WidthDifference 0.00 0.00 0.07 0.81
## PercentPremiumSeats 0.00 0.00 0.16 0.01
## PriceRelative SeatsTotal PitchDifference
## SeatsEconomy 1.00 0.00 1.00
## SeatsPremium 0.94 0.00 1.00
## PitchEconomy 0.00 0.27 0.00
## PitchPremium 0.00 0.64 0.00
## WidthEconomy 1.00 0.00 0.22
## WidthPremium 0.00 1.00 0.00
## PriceEconomy 0.00 0.17 0.86
## PricePremium 1.00 0.00 1.00
## PriceRelative 0.00 1.00 0.00
## SeatsTotal 0.80 0.00 1.00
## PitchDifference 0.00 0.47 0.00
## WidthDifference 0.00 0.02 0.00
## PercentPremiumSeats 0.00 0.00 0.05
## WidthDifference PercentPremiumSeats
## SeatsEconomy 1.00 0.00
## SeatsPremium 0.00 0.00
## PitchEconomy 0.00 0.78
## PitchPremium 0.00 0.01
## WidthEconomy 0.00 0.00
## WidthPremium 0.00 0.00
## PriceEconomy 1.00 1.00
## PricePremium 1.00 0.41
## PriceRelative 0.00 0.02
## SeatsTotal 0.68 0.00
## PitchDifference 0.00 1.00
## WidthDifference 0.00 0.00
## PercentPremiumSeats 0.00 0.00
##
## To see confidence intervals of the correlations, print with the short=FALSE option
m1 <- lm(PriceRelative ~ PitchEconomy + PitchPremium + WidthPremium + PriceEconomy + PitchDifference + WidthDifference + PercentPremiumSeats, data = six_airlines)
summary(m1)
##
## Call:
## lm(formula = PriceRelative ~ PitchEconomy + PitchPremium + WidthPremium +
## PriceEconomy + PitchDifference + WidthDifference + PercentPremiumSeats,
## data = six_airlines)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.90093 -0.22133 -0.02915 0.15791 1.16165
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.102e+00 1.752e+00 -0.629 0.529437
## PitchEconomy -6.810e-02 4.511e-02 -1.510 0.131826
## PitchPremium 3.359e-02 2.192e-02 1.533 0.126056
## WidthPremium 1.371e-01 3.827e-02 3.583 0.000377 ***
## PriceEconomy -1.056e-04 2.085e-05 -5.064 5.99e-07 ***
## PitchDifference NA NA NA NA
## WidthDifference 7.238e-03 3.769e-02 0.192 0.847790
## PercentPremiumSeats -6.789e-03 4.267e-03 -1.591 0.112312
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3688 on 451 degrees of freedom
## Multiple R-squared: 0.339, Adjusted R-squared: 0.3302
## F-statistic: 38.56 on 6 and 451 DF, p-value: < 2.2e-16
m2 <- lm(PriceRelative ~ PitchDifference + WidthPremium + PriceEconomy)
coefficients(m2)
## (Intercept) PitchDifference WidthPremium PriceEconomy
## -2.5405744540 0.0432138143 0.1484583578 -0.0001144987
Conclusion:-
Both the Null hypothesis are rejected as the p value << 0.05 and Relative price mainly depends on the width of premium class seats and pitch difference.