資料視覺化(Data Visualization) - ggplot2 (1)

Jying-Nan Wang

2016-11-21

Why learning Data Visualization?

資料來源: DataCamp (https://www.datacamp.com)

範例: Scatter plot - mammals (1)

看看資料的樣子

library(MASS)
# A data frame with average brain (kg) and body (g) weights for 62 species of land mammals
head(mammals, 10)
##                    body brain
## Arctic fox        3.385  44.5
## Owl monkey        0.480  15.5
## Mountain beaver   1.350   8.1
## Cow             465.000 423.0
## Grey wolf        36.330 119.5
## Goat             27.660 115.0
## Roe deer         14.830  98.2
## Guinea pig        1.040   5.5
## Verbet            4.190  58.0
## Chinchilla        0.425   6.4

範例: Scatter plot - mammals(2)

利用ggplot2畫出scatter plot,你發現什麼嗎?

library(ggplot2)
ggplot(mammals, aes(x = body, y = brain)) +
    geom_point()

範例: Scatter plot - mammals (3)

加上其趨勢線

範例: Scatter plot - mammals (4)

將原始資料取log10()

範例: Scatter plot - mammals (5)

美化一下

範例: iris (1)

iris dataset中記錄了不同種類(Species)的花,其花萼(sepal)與花瓣 (petal)的長與寬,以下為資料的摘要:

str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

範例: iris (2)

範例: iris (3)

範例: iris (4)

範例: iris (5)

過去我們這麼做…

現在時代不一樣了…

ggplot2 快速學習 (1)

資料來源: DataCamp (https://www.datacamp.com)

ggplot2 快速學習 (2)

iris
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1            5.1         3.5          1.4         0.2     setosa
## 2            4.9         3.0          1.4         0.2     setosa
## 3            4.7         3.2          1.3         0.2     setosa
## 4            4.6         3.1          1.5         0.2     setosa
## 5            5.0         3.6          1.4         0.2     setosa
## 6            5.4         3.9          1.7         0.4     setosa
## 7            4.6         3.4          1.4         0.3     setosa
## 8            5.0         3.4          1.5         0.2     setosa
## 9            4.4         2.9          1.4         0.2     setosa
## 10           4.9         3.1          1.5         0.1     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 12           4.8         3.4          1.6         0.2     setosa
## 13           4.8         3.0          1.4         0.1     setosa
## 14           4.3         3.0          1.1         0.1     setosa
## 15           5.8         4.0          1.2         0.2     setosa
## 16           5.7         4.4          1.5         0.4     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 23           4.6         3.6          1.0         0.2     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 25           4.8         3.4          1.9         0.2     setosa
## 26           5.0         3.0          1.6         0.2     setosa
## 27           5.0         3.4          1.6         0.4     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 30           4.7         3.2          1.6         0.2     setosa
## 31           4.8         3.1          1.6         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 34           5.5         4.2          1.4         0.2     setosa
## 35           4.9         3.1          1.5         0.2     setosa
## 36           5.0         3.2          1.2         0.2     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 38           4.9         3.6          1.4         0.1     setosa
## 39           4.4         3.0          1.3         0.2     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 41           5.0         3.5          1.3         0.3     setosa
## 42           4.5         2.3          1.3         0.3     setosa
## 43           4.4         3.2          1.3         0.2     setosa
## 44           5.0         3.5          1.6         0.6     setosa
## 45           5.1         3.8          1.9         0.4     setosa
## 46           4.8         3.0          1.4         0.3     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 48           4.6         3.2          1.4         0.2     setosa
## 49           5.3         3.7          1.5         0.2     setosa
## 50           5.0         3.3          1.4         0.2     setosa
## 51           7.0         3.2          4.7         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 58           4.9         2.4          3.3         1.0 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 61           5.0         2.0          3.5         1.0 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 99           5.1         2.5          3.0         1.1 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 107          4.9         2.5          4.5         1.7  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 114          5.7         2.5          5.0         2.0  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 120          6.0         2.2          5.0         1.5  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 122          5.6         2.8          4.9         2.0  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 127          6.2         2.8          4.8         1.8  virginica
## 128          6.1         3.0          4.9         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 150          5.9         3.0          5.1         1.8  virginica

ggplot2 快速學習 (3)

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point(alpha = 0.5)

or

ggplot(iris, aes(x = Sepal.Width)) +
    geom_histogram(bins=10,fill="SkyBlue",col="Black",aes(y=..density..))

ggplot2 快速學習 (4)

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point(alpha = 0.5) +
    facet_grid(Species ~ .)

or

ggplot(iris, aes(x = Sepal.Width)) +
    geom_histogram(bins=10,fill="SkyBlue",col="Black",aes(y=..density..))+
    facet_grid(. ~ Species)

ggplot2 快速學習 (5)

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point(alpha = 0.5) +
    facet_grid(Species ~ .) +
    stat_smooth(method = "lm", se = T, col = "red", fullrange = TRUE)

or

ggplot(iris, aes(x = Sepal.Width)) +
    geom_histogram(bins=10,fill="SkyBlue",col="Black",aes(y=..density..))+
    facet_grid(. ~ Species) +
    stat_ecdf(n=10,col = "red")

ggplot2 快速學習 (6)

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point(alpha = 0.5) +
    facet_grid(Species ~ .) +
    stat_smooth(method = "lm", se = T, col = "red", fullrange = TRUE)+ 
    scale_y_continuous("Sepal Width (cm)",limits = c(1,6),expand = c(0,0)) +
    scale_x_continuous("Sepal Length (cm)", limits = c(3,9), expand = c(0,0)) +
    coord_equal() 

or

ggplot(iris, aes(x = Sepal.Width)) +
    geom_histogram(bins=10,fill="SkyBlue",col="Black",aes(y=..density..))+
    facet_grid(. ~ Species) +
    stat_ecdf(n=10,col = "red")+ 
    scale_y_continuous("Freqeuncy",limits = c(0,1.2),expand = c(0,0)) +
    scale_x_continuous("Sepal Width (cm)", limits = c(1,5), expand = c(0,0)) +
    coord_fixed(ratio = 2)

ggplot2 快速學習 (7)

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point(alpha = 0.5) +
    facet_grid(Species ~ .) +
    stat_smooth(method = "lm", se = T, col = "red", fullrange = TRUE)+ 
    scale_y_continuous("Sepal Width (cm)",limits = c(1,6),expand = c(0,0)) +
    scale_x_continuous("Sepal Length (cm)", limits = c(3,9), expand = c(0,0)) +
    coord_equal() +
  theme(panel.background = element_blank(),
             legend.key = element_blank(),
             legend.background = element_blank(),
             strip.background = element_blank(),
             plot.background = element_rect(color = "black", size =1),
             panel.grid = element_blank(),
             axis.line = element_line(color = "black"),
             axis.ticks = element_line(color = "black"),
             strip.text = element_text(size = 12, color = "red"),
             axis.title.y = element_text(color = "red", hjust = 0.5, face = "italic"),
             axis.title.x = element_text(color = "red", hjust = 0, face = "italic"),
             axis.text = element_text(color = "black"),
             legend.position = "none")

or

ggplot(iris, aes(x = Sepal.Width)) +
    geom_histogram(bins=10,fill="SkyBlue",col="Black",aes(y=..density..))+
    facet_grid(. ~ Species) +
    stat_ecdf(n=10,col = "red")+ 
    scale_y_continuous("Freqeuncy",limits = c(0,1.2),expand = c(0,0)) +
    scale_x_continuous("Sepal Width (cm)", limits = c(1,5), expand = c(0,0)) +
    coord_fixed(ratio = 2) +
    theme_light()

ggplot2 概念整理

Data 概念

plot(iris$Sepal.Length, iris$Sepal.Width)

plot(iris$Sepal.Length, iris$Sepal.Width)
points(iris$Petal.Length, iris$Petal.Width, col = "red")

ggplot怎麼做

str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
library(ggplot2)
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
  geom_point()

p <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width))
# 第一張圖
p + geom_point()

# 第二張圖
p + geom_jitter()

p <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +  
  geom_point()
# 第三張圖
p

超過2個以上的變數,我們應該如何呈現其關係呢?

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point() +
    geom_point(aes(x = Petal.Length, y = Petal.Width), col = "red")

調整資料 (using tidyr package)

library(tidyr)
# 資料型式1
str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
# 資料型式2
iris_long <- gather(iris,measure,val,-Species)
str(iris_long)
## 'data.frame':    600 obs. of  3 variables:
##  $ Species: Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ measure: chr  "Sepal.Length" "Sepal.Length" "Sepal.Length" "Sepal.Length" ...
##  $ val    : num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# 資料型式3
iris_long2 <- separate(iris_long, measure, c("type", "LW"),sep="\\.")
str(iris_long2)
## 'data.frame':    600 obs. of  4 variables:
##  $ Species: Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ type   : chr  "Sepal" "Sepal" "Sepal" "Sepal" ...
##  $ LW     : chr  "Length" "Length" "Length" "Length" ...
##  $ val    : num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# 資料型式4
dat1 <- iris[,c(1,3,5)]
names(dat1) <- c("Sepal","Petal","Species")
dat1_long <- gather(dat1,Part, Length, -Species)
dat2 <- iris[,c(2,4,5)]
names(dat2) <- c("Sepal","Petal","Species")
dat2_long <- gather(dat2,Part, Width, -Species)
iris_wide <- cbind(dat1_long,Width=dat2_long$Width)
str(iris_wide)
## 'data.frame':    300 obs. of  4 variables:
##  $ Species: Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Part   : chr  "Sepal" "Sepal" "Sepal" "Sepal" ...
##  $ Length : num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Width  : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
p <- ggplot(iris_long2, aes(x = LW, y = val, col = type))
p + geom_jitter(width=0.5,alpha=0.6)

p <- ggplot(iris_long2, aes(x = Species, y = val, shape = type))
p + geom_jitter(width=0.5)

更多變數的表達方式

dat_setosa <- subset(iris_long2, Species=="setosa")
dat_versicolor <- subset(iris_long2, Species=="versicolor")
dat_virginica <- subset(iris_long2, Species=="virginica")

p1 <- ggplot(dat_setosa, aes(x = LW, y = val, col = type)) +
  geom_jitter(width=0.7) +
  ggtitle("setosa")
p2 <- ggplot(dat_versicolor, aes(x = LW, y = val, col = type)) +
  geom_jitter(width=0.7) +
  ggtitle("versicolor")
p3 <- ggplot(dat_virginica, aes(x = LW, y = val, col = type)) +
  geom_jitter(width=0.7) +
  ggtitle("virginica")

library(gridExtra)
grid.arrange(p1,p2,p3, ncol=3)

p <- ggplot(iris_long2, aes(x = LW, y = val, col = type)) +
  geom_jitter(width=0.7) +
  facet_grid(.~Species) +
  ggtitle("iris")
p

p <- ggplot(iris_long2, aes(x = LW, y = val, col = type)) +
  geom_jitter(width=0.7) +
  facet_grid(type~Species) +
  ggtitle("iris")
p

多變數的散佈圖

ggplot(iris_wide, aes(x = Length, y = Width, shape = Part)) +
    geom_jitter(alpha=0.6)

ggplot(iris_wide, aes(x = Length, y = Width, shape = Species,col=Part)) +
    geom_jitter(alpha=0.8)

ggplot(iris_wide, aes(x = Length, y = Width, col=Part)) +
    geom_jitter(alpha=0.8) +
    facet_grid(.~Species)

ggplot(iris_wide, aes(x = Part, y = Width, col=Length)) +
    geom_jitter(alpha=0.8) +
    facet_grid(.~Species)

Aesthetics 概念

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point()

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point(col=rgb(0.1,0.6,0.44))

 ggplot(iris, aes(x = Sepal.Length, 
                  y = Sepal.Width, 
                  col=Species)) +
    geom_point()

ggplot(iris) +
    geom_point(aes(x = Sepal.Length, 
                   y = Sepal.Width,
                   col = Species))

Aesthetics 屬性

Aesthetic Description
x X axis position
y Y axis position
colour Colour of dots, outlines of other shapes
fill Fill colour
size Diameter of points, thickness of lines
alpha Transparency
linetype Line dash pa ern
labels Text on a plot or axes
shape Shape
ggplot(iris) +
    geom_point(aes(x = Sepal.Length, 
                   y = Sepal.Width,colour=Species,alpha=Species),shape=17,size=2)

ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width,colour=Species,linetype=Species)) +
    geom_line()

有用的 Scale Functions

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
    geom_point(position = "jitter") +
    scale_x_continuous("Sepal Length", 
                       limits = c(2, 8),
                       breaks = seq(2, 8, 1.5)) 

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, shape = Species, col = Species)) +
    geom_point(position = "jitter") +
    scale_x_continuous("Sepal Length", 
                       limits = c(4, 8),
                       breaks = seq(4, 8, 0.2),
                       expand = c(0,0)) +
    scale_shape_discrete("Legend title",
                         labels = c("Setosa1", "Versicolour2", "Virginica3"))+
    scale_color_discrete("Legend title2",
                         labels = c("Setosa4", "Versicolour5", "Virginica6"))

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
    geom_point(position = "jitter") +
    labs(x = "Sepal Length1", y = "Sepal Width1", col = "TEST1")

Case Study: hflights

在這個 Case Study中,請同學使用 hflights 這個資料集

library(hflights)
library(ggplot2)
library(dplyr)

str(hflights)
## 'data.frame':    227496 obs. of  21 variables:
##  $ Year             : int  2011 2011 2011 2011 2011 2011 2011 2011 2011 2011 ...
##  $ Month            : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ DayofMonth       : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ DayOfWeek        : int  6 7 1 2 3 4 5 6 7 1 ...
##  $ DepTime          : int  1400 1401 1352 1403 1405 1359 1359 1355 1443 1443 ...
##  $ ArrTime          : int  1500 1501 1502 1513 1507 1503 1509 1454 1554 1553 ...
##  $ UniqueCarrier    : chr  "AA" "AA" "AA" "AA" ...
##  $ FlightNum        : int  428 428 428 428 428 428 428 428 428 428 ...
##  $ TailNum          : chr  "N576AA" "N557AA" "N541AA" "N403AA" ...
##  $ ActualElapsedTime: int  60 60 70 70 62 64 70 59 71 70 ...
##  $ AirTime          : int  40 45 48 39 44 45 43 40 41 45 ...
##  $ ArrDelay         : int  -10 -9 -8 3 -3 -7 -1 -16 44 43 ...
##  $ DepDelay         : int  0 1 -8 3 5 -1 -1 -5 43 43 ...
##  $ Origin           : chr  "IAH" "IAH" "IAH" "IAH" ...
##  $ Dest             : chr  "DFW" "DFW" "DFW" "DFW" ...
##  $ Distance         : int  224 224 224 224 224 224 224 224 224 224 ...
##  $ TaxiIn           : int  7 6 5 9 9 6 12 7 8 6 ...
##  $ TaxiOut          : int  13 9 17 22 9 13 15 12 22 19 ...
##  $ Cancelled        : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ CancellationCode : chr  "" "" "" "" ...
##  $ Diverted         : int  0 0 0 0 0 0 0 0 0 0 ...

請試著回答以下問題:

Q1 參考解答

Q2 參考解答

Q3 參考解答

Q4 參考解答

Q5 參考解答

Q6 參考解答

Q7 參考解答

Q8 參考解答

Q9 參考解答