setwd("C:/Users/karansy/Downloads/Documents")
Airline.df <- read.csv(paste("SixAirlinesDataV2.csv", sep = ""))
View(Airline.df)
summary(Airline.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
str(Airline.df)
## '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 ...
Adding another coloumn as price difference between two classes for a more thorough analysis
Airline.df$PriceDiff <- Airline.df$PricePremium - Airline.df$PriceEconomy
We would like to see the correlation of all the numeric variables with each other.
cor(Airline.df[6:18])
## SeatsEconomy SeatsPremium PitchEconomy PitchPremium
## SeatsEconomy 1.000000000 0.625056587 0.14412692 0.119221250
## SeatsPremium 0.625056587 1.000000000 -0.03421296 0.004883123
## PitchEconomy 0.144126924 -0.034212963 1.00000000 -0.550606241
## PitchPremium 0.119221250 0.004883123 -0.55060624 1.000000000
## WidthEconomy 0.373670252 0.455782883 0.29448586 -0.023740873
## WidthPremium 0.102431959 -0.002717527 -0.53929285 0.750259029
## PriceEconomy 0.128167220 0.113642176 0.36866123 0.050384550
## PricePremium 0.177000928 0.217612376 0.22614179 0.088539147
## PriceRelative 0.003956939 -0.097196009 -0.42302204 0.417539056
## SeatsTotal 0.992607966 0.715171053 0.12373524 0.107512784
## PitchDifference 0.035318044 0.016365566 -0.78254993 0.950591466
## WidthDifference -0.080670148 -0.216168666 -0.63557430 0.703281797
## PercentPremiumSeats -0.330935223 0.485029771 -0.10280880 -0.175487414
## WidthEconomy WidthPremium PriceEconomy PricePremium
## SeatsEconomy 0.37367025 0.102431959 0.12816722 0.17700093
## SeatsPremium 0.45578288 -0.002717527 0.11364218 0.21761238
## PitchEconomy 0.29448586 -0.539292852 0.36866123 0.22614179
## PitchPremium -0.02374087 0.750259029 0.05038455 0.08853915
## WidthEconomy 1.00000000 0.081918728 0.06799061 0.15054837
## WidthPremium 0.08191873 1.000000000 -0.05704522 0.06402004
## PriceEconomy 0.06799061 -0.057045224 1.00000000 0.90138870
## PricePremium 0.15054837 0.064020043 0.90138870 1.00000000
## PriceRelative -0.04396116 0.504247591 -0.28856711 0.03184654
## SeatsTotal 0.40545860 0.091297500 0.13243313 0.19232533
## PitchDifference -0.12722421 0.760121272 -0.09952511 -0.01806629
## WidthDifference -0.39320512 0.884149655 -0.08449975 -0.01151218
## PercentPremiumSeats 0.22714172 -0.183312058 0.06532232 0.11639097
## PriceRelative SeatsTotal PitchDifference
## SeatsEconomy 0.003956939 0.99260797 0.03531804
## SeatsPremium -0.097196009 0.71517105 0.01636557
## PitchEconomy -0.423022038 0.12373524 -0.78254993
## PitchPremium 0.417539056 0.10751278 0.95059147
## WidthEconomy -0.043961160 0.40545860 -0.12722421
## WidthPremium 0.504247591 0.09129750 0.76012127
## PriceEconomy -0.288567110 0.13243313 -0.09952511
## PricePremium 0.031846537 0.19232533 -0.01806629
## PriceRelative 1.000000000 -0.01156894 0.46873025
## SeatsTotal -0.011568942 1.00000000 0.03416915
## PitchDifference 0.468730249 0.03416915 1.00000000
## WidthDifference 0.485802437 -0.10584398 0.76089108
## PercentPremiumSeats -0.161565556 -0.22091465 -0.09264869
## WidthDifference PercentPremiumSeats
## SeatsEconomy -0.08067015 -0.33093522
## SeatsPremium -0.21616867 0.48502977
## PitchEconomy -0.63557430 -0.10280880
## PitchPremium 0.70328180 -0.17548741
## WidthEconomy -0.39320512 0.22714172
## WidthPremium 0.88414965 -0.18331206
## PriceEconomy -0.08449975 0.06532232
## PricePremium -0.01151218 0.11639097
## PriceRelative 0.48580244 -0.16156556
## SeatsTotal -0.10584398 -0.22091465
## PitchDifference 0.76089108 -0.09264869
## WidthDifference 1.00000000 -0.27559416
## PercentPremiumSeats -0.27559416 1.00000000
Now as we have to analyse the difference between price of premium seats w.r.t. to price of economic seats, we would analyse the pricerelative avriable with other factors. We firstly look at the correlation of Pricerelative varaible with other numeric variables.
cor(Airline.df$PriceDiff, Airline.df[6:19])
## SeatsEconomy SeatsPremium PitchEconomy PitchPremium WidthEconomy
## [1,] 0.1735396 0.2877081 -0.1250755 0.1100397 0.217031
## WidthPremium PriceEconomy PricePremium PriceRelative SeatsTotal
## [1,] 0.2377683 0.2959843 0.6804058 0.5586276 0.2001245
## PitchDifference WidthDifference PercentPremiumSeats PriceDiff
## [1,] 0.1285851 0.1176138 0.1461979 1
cor(Airline.df$PriceRelative, Airline.df[6:19])
## SeatsEconomy SeatsPremium PitchEconomy PitchPremium WidthEconomy
## [1,] 0.003956939 -0.09719601 -0.423022 0.4175391 -0.04396116
## WidthPremium PriceEconomy PricePremium PriceRelative SeatsTotal
## [1,] 0.5042476 -0.2885671 0.03184654 1 -0.01156894
## PitchDifference WidthDifference PercentPremiumSeats PriceDiff
## [1,] 0.4687302 0.4858024 -0.1615656 0.5586276
Now, we would analyse the concerned variable of pricerelative with all other variables through various plots tests.
table(Airline.df$Airline)
##
## AirFrance British Delta Jet Singapore Virgin
## 74 175 46 61 40 62
aggregate(Airline.df$PriceDiff, by = list(Airline.df$Airline), mean)
## Group.1 x
## 1 AirFrance 295.4324
## 2 British 643.5486
## 3 Delta 123.7391
## 4 Jet 207.1967
## 5 Singapore 379.6750
## 6 Virgin 1118.1613
aggregate(Airline.df$PriceRelative, by = list(Airline.df$Airline), mean)
## Group.1 x
## 1 AirFrance 0.2047297
## 2 British 0.4375429
## 3 Delta 0.1250000
## 4 Jet 0.9396721
## 5 Singapore 0.5297500
## 6 Virgin 0.7606452
Clearly evident from here that Virgin Airlines has maximum Price Difference between the two classes on avaerage when Compared to other airlines. Jet has maximum Price relative diff.
library(lattice)
histogram(Airline.df$Airline, xlab = "Type of Airline", ylab = " % Count", main = "Types of Airline and % count in the dataset")
boxplot(Airline.df$PriceRelative ~ Airline.df$Airline, xlab = "Type of Airline", ylab = "Relative Price of premium to Economy", main = " Box Plot of Type of Airline to Relative prive")
boxplot(Airline.df$PriceDiff ~ Airline.df$Airline, xlab = "Type of Airline", ylab = "Price Difference", main = " Box Plot of Type of Airline to Fare Difference")
table(Airline.df$Aircraft)
##
## AirBus Boeing
## 151 307
aggregate(Airline.df$PriceDiff, by = list(Airline.df$Aircraft), mean)
## Group.1 x
## 1 AirBus 499.5497
## 2 Boeing 527.3453
histogram(Airline.df$Aircraft, xlab = "Type of Aircraft", ylab = "% Count", main = "Types of Aircraft and % count in the dataset")
boxplot(Airline.df$PriceRelative ~ Airline.df$Aircraft, xlab = "Type of Aircraft", ylab = "Relative Price of premium to Economy", main = " Box Plot of Type of Aircraft to Relative prive")
boxplot(Airline.df$PriceDiff ~ Airline.df$Aircraft, xlab = "Type of Aircraft", ylab = "Price Difference", main = " Box Plot of Type of Aircraft to Difference fare")
cor(Airline.df$FlightDuration, Airline.df$PriceRelative)
## [1] 0.121075
cor(Airline.df$FlightDuration, Airline.df$PriceDiff)
## [1] 0.4720837
library(car)
scatterplot(Airline.df$PriceRelative ~ Airline.df$FlightDuration, xlab = "Flight Duration Hrs", ylab = "Relative Price", main = "Flight Duration vs Relative Price")
scatterplot(Airline.df$PriceDiff ~ Airline.df$FlightDuration, xlab = "Flight Duration Hrs", ylab = "Difference in Price", main = "Flight Duration vs Price Difference")
table(Airline.df$TravelMonth)
##
## Aug Jul Oct Sep
## 127 75 127 129
aggregate(Airline.df$PriceDiff, by = list(Airline.df$TravelMonth), mean)
## Group.1 x
## 1 Aug 526.4646
## 2 Jul 462.9333
## 3 Oct 540.6850
## 4 Sep 519.9922
A key information from here is that with no. of flights the least in July, all airline companies kept the prices low stating lower no. of passengers. When demand of flight tickets rose in months of Aug, Sep and Oct the airline Companies increased the no. of flight as well as increased the price Difference.
histogram(Airline.df$TravelMonth, xlab = "Month", ylab = "% Count", main = "Month and % count in the dataset")
boxplot(Airline.df$PriceRelative ~ Airline.df$TravelMonth, xlab = "Month", ylab = "Relative Price of premium to Economy", main = " Box Plot of Travel Month to Relative prive")
boxplot(Airline.df$PriceDiff ~ Airline.df$TravelMonth, xlab = "Month", ylab = "Price Difference", main = " Box Plot of Month to Difference fare")
table(Airline.df$IsInternational)
##
## Domestic International
## 40 418
aggregate(Airline.df$PriceDiff, by = list(Airline.df$IsInternational), mean)
## Group.1 x
## 1 Domestic 29.2750
## 2 International 564.9665
aggregate(Airline.df$PriceRelative, by = list(Airline.df$IsInternational), mean)
## Group.1 x
## 1 Domestic 0.0847500
## 2 International 0.5257177
Clearly, International Flights have very high difference due to more fare of basic economic fare and the no. of flight hours increasing a lot too. Also the Relative Price is too very significant.
histogram(Airline.df$IsInternational, xlab = "Destination type", ylab = "% Count", main = "Destination type and % count in the dataset")
boxplot(Airline.df$PriceRelative ~ Airline.df$IsInternational, xlab = "Destination Type", ylab = "Relative Price of premium to Economy", main = " Box Plot of Destination type to Relative prive")
boxplot(Airline.df$PriceDiff ~ Airline.df$IsInternational, xlab = "Destination Type", ylab = "Price Difference", main = " Box Plot of Destination type to Difference fare")
scatterplotMatrix(formula = ~ Airline.df$SeatsEconomy + Airline.df$SeatsPremium + Airline.df$PriceRelative, main = "Scatter plot matrix of Seats in Economy and Premium and Relative Price")
scatterplotMatrix(formula = ~ Airline.df$PitchEconomy + Airline.df$PitchPremium + Airline.df$PriceRelative, main = "Scatter plot matrix of Pitch Economy, Pitch Premium and Relative Price")
scatterplotMatrix(formula = ~ Airline.df$WidthEconomy + Airline.df$WidthPremium + Airline.df$PriceRelative, main = "Scatter plot matrix Width Economy, Width Premium and Relative Price")
scatterplotMatrix(formula = ~ Airline.df$PitchDifference + Airline.df$WidthDifference + Airline.df$PriceRelative, main = "Scatter plot matrix of Pitch diff, Width diff and Relative Price")
scatterplotMatrix(formula = ~ Airline.df$SeatsTotal + Airline.df$PercentPremiumSeats + Airline.df$PriceRelative, main = "Scatter plot matrix of Total Seats, % Premium seats and Relative Price")
scatterplotMatrix(formula = ~ Airline.df$SeatsEconomy + Airline.df$SeatsPremium + Airline.df$PriceDiff, main = "Scatter plot matrix of Seats in Economy and Premium and Price Difference")
scatterplotMatrix(formula = ~ Airline.df$PitchEconomy + Airline.df$PitchPremium + Airline.df$PriceDiff, main = "Scatter plot matrix of Pitch Economy, Pitch Premium and Price Difference")
scatterplotMatrix(formula = ~ Airline.df$WidthEconomy + Airline.df$WidthPremium + Airline.df$PriceDiff, main = "Scatter plot matrix Width Economy, Width Premium and Price Difference")
scatterplotMatrix(formula = ~ Airline.df$PitchDifference + Airline.df$WidthDifference + Airline.df$PriceDiff, main = "Scatter plot matrix of Pitch diff, Width diff and Price Difference")
scatterplotMatrix(formula = ~ Airline.df$SeatsTotal + Airline.df$PercentPremiumSeats + Airline.df$PriceDiff, main = "Scatter plot matrix of Total Seats, % Premium seats and Price Difference")
Looking at the Corrgram plotof the dataset.
library(corrgram)
corrgram(Airline.df, order=TRUE, lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt,
main="Corrgram of correlations between store variables")
aggregate(Airline.df$PriceDiff, by = list(Airline.df$PitchDifference), mean)
## Group.1 x
## 1 2 29.33333
## 2 3 29.18750
## 3 6 325.04959
## 4 7 767.35802
## 5 10 191.79630
Clearly, the pitch difference between the two classes factors a lot to the price difference
aggregate(Airline.df$PriceDiff, by = list(Airline.df$WidthDifference), mean)
## Group.1 x
## 1 0 29.2750
## 2 1 537.6742
## 3 2 312.6875
## 4 3 1085.9853
## 5 4 191.7963
Clearly, the waidth difference between the two classes too like the pitch difference factors a lot to the price difference
aggregate(Airline.df$PriceRelative, by = list(Airline.df$PitchDifference), mean)
## Group.1 x
## 1 2 0.08708333
## 2 3 0.08125000
## 3 6 0.34082645
## 4 7 0.51888889
## 5 10 0.97074074
As can be seen from here, the price relative gives a more clear picture. As pitch Difference increases, so does the Relative price
aggregate(Airline.df$PriceRelative, by = list(Airline.df$WidthDifference), mean)
## Group.1 x
## 1 0 0.0847500
## 2 1 0.4184091
## 3 2 0.2296875
## 4 3 0.7282353
## 5 4 0.9707407
Here too like the price Relative vs Pitch Diff case as the Width Difference increases the Relative price increases.
cor.test(Airline.df$PriceRelative, Airline.df$FlightDuration)
##
## Pearson's product-moment correlation
##
## data: Airline.df$PriceRelative and Airline.df$FlightDuration
## t = 2.6046, df = 456, p-value = 0.009498
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.02977856 0.21036806
## sample estimates:
## cor
## 0.121075
Null Hypotheses cannot be ignored in this case.
t.test(Airline.df$PriceRelative ~ Airline.df$IsInternational)
##
## Welch Two Sample t-test
##
## data: Airline.df$PriceRelative by Airline.df$IsInternational
## t = -19.451, df = 446.12, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.4855215 -0.3964139
## sample estimates:
## mean in group Domestic mean in group International
## 0.0847500 0.5257177
A significantly low p-value signifying that null hypotheses can be neglected
cor.test(Airline.df$PriceRelative , Airline.df$PitchPremium)
##
## Pearson's product-moment correlation
##
## data: Airline.df$PriceRelative and Airline.df$PitchPremium
## t = 9.8125, df = 456, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3388769 0.4904041
## sample estimates:
## cor
## 0.4175391
A significantly low p-value signifying that null hypotheses can be neglected
cor.test(Airline.df$PriceRelative , Airline.df$WidthPremium)
##
## Pearson's product-moment correlation
##
## data: Airline.df$PriceRelative and Airline.df$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
A significantly low p-value signifying that null hypotheses can be neglected
cor.test(Airline.df$PriceRelative , Airline.df$PitchDifference)
##
## Pearson's product-moment correlation
##
## data: Airline.df$PriceRelative and Airline.df$PitchDifference
## t = 11.331, df = 456, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3940262 0.5372817
## sample estimates:
## cor
## 0.4687302
A significantly low p-value signifying that null hypotheses can be neglected
cor.test(Airline.df$PriceRelative , Airline.df$WidthDifference)
##
## Pearson's product-moment correlation
##
## data: Airline.df$PriceRelative and Airline.df$WidthDifference
## t = 11.869, df = 456, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.4125388 0.5528218
## sample estimates:
## cor
## 0.4858024
A significantly low p-value signifying that null hypotheses can be neglected
cor.test(Airline.df$PriceRelative , Airline.df$PercentPremiumSeats)
##
## Pearson's product-moment correlation
##
## data: Airline.df$PriceRelative and Airline.df$PercentPremiumSeats
## t = -3.496, df = 456, p-value = 0.0005185
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.24949885 -0.07098966
## sample estimates:
## cor
## -0.1615656
A lower p-value then 0.005 signifying that null hypotheses can be neglected
fitt <- lm(formula = Airline.df$PriceRelative~ ., data = Airline.df)
summary(fitt)
##
## Call:
## lm(formula = Airline.df$PriceRelative ~ ., data = Airline.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.76373 -0.08269 0.00438 0.08002 0.84672
##
## Coefficients: (4 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.993e-01 2.948e+00 -0.135 0.892302
## AirlineBritish -3.971e-01 1.107e-01 -3.586 0.000373 ***
## AirlineDelta -3.865e-01 2.203e-01 -1.755 0.080020 .
## AirlineJet -2.584e-01 9.594e-02 -2.693 0.007354 **
## AirlineSingapore -3.535e-01 1.297e-01 -2.725 0.006685 **
## AirlineVirgin -3.575e-01 2.031e-01 -1.761 0.078997 .
## AircraftBoeing 4.003e-02 2.968e-02 1.349 0.178089
## FlightDuration 2.613e-02 4.727e-03 5.526 5.63e-08 ***
## TravelMonthJul 2.111e-02 3.145e-02 0.671 0.502475
## TravelMonthOct 2.778e-02 2.670e-02 1.041 0.298619
## TravelMonthSep -6.617e-03 2.664e-02 -0.248 0.803924
## IsInternationalInternational 2.785e-02 2.502e-01 0.111 0.911400
## SeatsEconomy 8.090e-04 5.462e-04 1.481 0.139313
## SeatsPremium -7.374e-03 3.615e-03 -2.040 0.041967 *
## PitchEconomy -1.756e-02 7.994e-02 -0.220 0.826207
## PitchPremium 5.960e-02 9.165e-02 0.650 0.515823
## WidthEconomy -9.207e-02 5.266e-02 -1.748 0.081085 .
## WidthPremium 4.904e-02 1.365e-01 0.359 0.719527
## PriceEconomy -9.325e-04 3.318e-05 -28.105 < 2e-16 ***
## PricePremium 5.781e-04 2.294e-05 25.197 < 2e-16 ***
## SeatsTotal NA NA NA NA
## PitchDifference NA NA NA NA
## WidthDifference NA NA NA NA
## PercentPremiumSeats 1.114e-02 7.653e-03 1.456 0.146197
## PriceDiff NA NA NA NA
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2123 on 437 degrees of freedom
## Multiple R-squared: 0.7878, Adjusted R-squared: 0.7781
## F-statistic: 81.12 on 20 and 437 DF, p-value: < 2.2e-16