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