airlines.df <- read.csv(paste("SixAirlinesDataV2.csv", sep = ""))
View(airlines.df)
library(psych)
summary(airlines.df)
## 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
describe(airlines.df)
## 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
Comparing Prices of Airlines
plot(airlines.df$PricePremium, airlines.df$PriceEconomy, main = "Price of Premium Economy Vs Price of Economy")
Conclusion: Prices of Premium are more expensive than Economy.
library("lattice", lib.loc = "~/R/win-library/3.4")
library("car", lib.loc = "~/R/win-library/3.4")
##
## Attaching package: 'car'
## The following object is masked from 'package:psych':
##
## logit
plot(airlines.df$PricePremium, airlines.df$PriceEconomy, main = "Price of Premium Economy Vs Price of Economy")
histogram(~Airline | PitchDifference, data = airlines.df)
histogram(~Airline | PitchDifference, data = airlines.df, layout = c(6,1))
histogram(airlines.df$PitchPremium)
histogram(airlines.df$WidthPremium)
barchart(Airline ~ PricePremium, data = airlines.df)
table1 <- xtabs(~ Airline +Aircraft, airlines.df)
table1
## Aircraft
## Airline AirBus Boeing
## AirFrance 36 38
## British 47 128
## Delta 12 34
## Jet 7 54
## Singapore 16 24
## Virgin 33 29
library("extracat", lib.loc = "~/R/win-library/3.4")
rmb(formula = ~Aircraft +Airline +PitchDifference +PricePremium, data = airlines.df)
library("gmodels", lib.loc = "~/R/win-library/3.4")
scatterHist(airlines.df$PitchDifference, airlines.df$PriceRelative)
library("lattice", lib.loc = "~/R/win-library/3.4")
wdtable <- table(airlines.df$WidthDifference)
wdtable
##
## 0 1 2 3 4
## 40 264 32 68 54
pdtable <- table(airlines.df$PitchDifference)
pdtable
##
## 2 3 6 7 10
## 24 16 121 243 54
barchart(SeatsPremium ~ SeatsTotal, data = airlines.df, col = "blue")
barchart(Airline ~ SeatsPremium, data = airlines.df, col = "green")
barchart(TravelMonth ~ PricePremium, data = airlines.df, col = "red")
library("corrgram", lib.loc = "~/R/win-library/3.4")
corrgram(airlines.df, order = TRUE, lower.panel = panel.pie, upper.panel = panel.pie, main = "Premium airfares vs Economy airfares")
scatterplotMatrix(~PricePremium +PriceEconomy +PitchDifference +WidthDifference, data = airlines.df, main = "Premium Pricing vs Economy pricing")
T-Test:-
t.test(airlines.df$PriceEconomy, airlines.df$PricePremium)
##
## Welch Two Sample t-test
##
## data: airlines.df$PriceEconomy and airlines.df$PricePremium
## t = -6.8304, df = 856.56, p-value = 1.605e-11
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -667.0831 -369.2793
## sample estimates:
## mean of x mean of y
## 1327.076 1845.258
t.test(airlines.df$PitchEconomy, airlines.df$PitchPremium)
##
## Welch Two Sample t-test
##
## data: airlines.df$PitchEconomy and airlines.df$PitchPremium
## t = -97.482, df = 671.02, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -6.822479 -6.553067
## sample estimates:
## mean of x mean of y
## 31.21834 37.90611
t.test(airlines.df$WidthEconomy, airlines.df$WidthPremium)
##
## Welch Two Sample t-test
##
## data: airlines.df$WidthEconomy and airlines.df$WidthPremium
## t = -28.4, df = 678.24, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.746100 -1.520276
## sample estimates:
## mean of x mean of y
## 17.83843 19.47162
Since the p-value is less than 0.05, we fail to reject the null hypothesis that they are equal
Regression Analysis:
fit1 <- lm(PricePremium ~ PriceEconomy +WidthDifference +PitchDifference +PercentPremiumSeats +SeatsTotal, data = airlines.df)
summary(fit1)
##
## Call:
## lm(formula = PricePremium ~ PriceEconomy + WidthDifference +
## PitchDifference + PercentPremiumSeats + SeatsTotal, data = airlines.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -842.0 -311.8 -61.9 140.5 3734.4
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -687.30244 156.34088 -4.396 1.37e-05 ***
## PriceEconomy 1.15710 0.02548 45.404 < 2e-16 ***
## WidthDifference 123.94509 35.35978 3.505 0.000502 ***
## PitchDifference -7.36925 22.76651 -0.324 0.746324
## PercentPremiumSeats 30.27914 5.70103 5.311 1.71e-07 ***
## SeatsTotal 1.69694 0.31479 5.391 1.13e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 527.8 on 452 degrees of freedom
## Multiple R-squared: 0.8339, Adjusted R-squared: 0.8321
## F-statistic: 453.9 on 5 and 452 DF, p-value: < 2.2e-16