#0412連續資料分析
x <- mtcars
x
##                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
## Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
## Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
## Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
## Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
## Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
## Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
## Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
## Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
## Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
## Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
## Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
## Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
## Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
## Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
## Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
## Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
## AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
## Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
## Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
## Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
## Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
## Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
## Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
## Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
## Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
## Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
summary(x)
##       mpg             cyl             disp             hp       
##  Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
##  1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
##  Median :19.20   Median :6.000   Median :196.3   Median :123.0  
##  Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
##  3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
##  Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
##       drat             wt             qsec             vs        
##  Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
##  1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
##  Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
##  Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
##  3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
##  Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
##        am              gear            carb      
##  Min.   :0.0000   Min.   :3.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :0.0000   Median :4.000   Median :2.000  
##  Mean   :0.4062   Mean   :3.688   Mean   :2.812  
##  3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :1.0000   Max.   :5.000   Max.   :8.000
str(x)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
##  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
##  $ qsec: num  16.5 17 18.6 19.4 17 ...
##  $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
# [, 1] mpg :Miles/(US) gallon 耗油量
# [, 2] cyl :Number of cylinders 汽缸數
# [, 3] disp:Displacement (cu.in., cubic inch) 排氣量
# [, 4] hp  :Gross horsepower 馬力
# [, 5] drat:Rear axle ratio 後輪軸減速比
# [, 6] wt  :Weight (1000 lbs) 車體重量
# [, 7] qsec:1/4 mile time 1/4英里加速秒數
# [, 8] vs  :V/S,0代表V型引擎,1代表直立式引擎
# [, 9] am  :Transmission (0 = automatic自排, 1 = manual手排)
# [,10] gear:Number of forward gears 變速箱
# [,11] carb:Number of carburetors化油器

#一、變速箱(gear)可分為3速、4速、5速,請計算這三類的佔比為何?試畫長條圖與圓餅圖。

#二、請計算「馬力」(hp)的1.平均數、2.中位數、3.全距、4.標準差、5.變異數

#三、請繪製「馬力」(hp)的盒狀圖與直方圖

#四、手自排(am)可分為(0 = automatic自排, 1 = manual手排) 請計算這二類的佔比為何?並畫圖示之。

#五、請計算wt:Weight車體重量的1.平均數、2.中位數、3.全距、4.標準差、5.變異數、

#六、請繪製wt:Weight車體重量的盒狀圖與直方圖?

#七、請比較:車體重量(wt)、馬力(hp)、變速箱(gear)與耗油量(mpg)的關係,並畫散佈圖

#用圖形控制函數par(mfrow = c(列數,欄數)) 畫多張圖

#離開par()
#用cor(x, y)計算相關係數

#八、請比較:自手排(am)、變速箱(gear)與耗油量(mpg)的關係,並畫圖。
#先分組,再計算
#tapply(被分析的欄位,分組依據欄位,計算函數)

#九、請請比較:耗油量(mpg)、馬力(hp)與加速秒數(qsec)的關係,並畫圖。

#十、請比較:汽缸數(cyl)、變速箱(gear)與加速秒數(qsec)的關係,並畫圖。

#十一、請畫出不同變速箱(gear)在耗油量(mpg)的分佈差異?(分組盒狀圖)
#查看資料結構str()

#十二、請畫出不同排檔方式(自手排(am))在耗油量(mpg)分佈的差異?


#####將數字外表的類別資料轉探為factor----
#x$gear:num [1:32] 4 4 4 3 3 3 3 4 4 4 ...
#查看資料結構str()
str(x$gear)
##  num [1:32] 4 4 4 3 3 3 3 4 4 4 ...
#將向量轉換為因子factor()
x$gear2 <- factor(x$gear,
                  levels= c("3", "4", "5"),
                  labels = c("3 speed", "4 speed", "5 speed"))
str(x$gear2)
##  Factor w/ 3 levels "3 speed","4 speed",..: 2 2 2 1 1 1 1 2 2 2 ...
##練習:將am轉換為factor(labels = c("automatic","manual"))
x$am2 <- factor(x$am,
                levels= c("0", "1"),
                labels = c("automatic","manual"))
str(x$am2)
##  Factor w/ 2 levels "automatic","manual": 2 2 2 1 1 1 1 1 1 1 ...
##練習:將cyl將am轉換為factor(labels = c("four", "six", "eight"))
str(x$cyl)
##  num [1:32] 6 6 4 6 8 6 8 4 4 6 ...
x$cyl <- factor(x$cyl,
                levels= c("4", "6", "8"),
                labels = c("four","six", "eight"))




#一、變速箱(gear)可分為3速、4速、5速,請計算這三類的佔比為何?試畫長條圖與圓餅圖
str(x$gear2)
##  Factor w/ 3 levels "3 speed","4 speed",..: 2 2 2 1 1 1 1 2 2 2 ...
summary(x$gear2)
## 3 speed 4 speed 5 speed 
##      15      12       5
#長條圖
g <- table(x$gear2)
p.g <- prop.table(g)
p.g <- p.g*100
p.g <- round(p.g, 2)#四捨五入
p.g
## 
## 3 speed 4 speed 5 speed 
##   46.88   37.50   15.62
barplot(p.g,
        col = c(7:9),
        main= "Gear",
        xlab= "檔數",
        ylab= "百分比")

sub="by lee"

#二、請計算「馬力」(hp)的1.平均數、2.中位數、3.全距、4.標準差、5.變異數
x$hp
##  [1] 110 110  93 110 175 105 245  62  95 123 123 180 180 180 205 215 230  66  52
## [20]  65  97 150 150 245 175  66  91 113 264 175 335 109
table(x$hp)
## 
##  52  62  65  66  91  93  95  97 105 109 110 113 123 150 175 180 205 215 230 245 
##   1   1   1   2   1   1   1   1   1   1   3   1   2   2   3   3   1   1   1   2 
## 264 335 
##   1   1
mean(x$hp)
## [1] 146.6875
median(x$hp)#中位數
## [1] 123
max(x$hp)
## [1] 335
min(x$hp)
## [1] 52
max(x$hp)-min(x$hp)#全距
## [1] 283
sd(x$hp)#標準差
## [1] 68.56287
var(x$hp)#變異數
## [1] 4700.867
#三、請繪製「馬力」(hp)的盒狀圖與直方圖
boxplot(x$hp, main = "馬力")

hist(x$hp, main = "馬力")

#四、手自排(am)可分為(0 = automatic自排, 1 = manual手排) 請計算這二類的佔比為何?並畫圖示之。
str(x$am2)
##  Factor w/ 2 levels "automatic","manual": 2 2 2 1 1 1 1 1 1 1 ...
summary(x$am2)
## automatic    manual 
##        19        13
g <- table(x$am2)
p.g <-prop.table(g)
p.g <- p.g*100
p.g <- round(p.g, 2)#四捨五入
p.g
## 
## automatic    manual 
##     59.38     40.62
barplot(p.g,
        col = c(7:9),
        main  = "Automatic",
        xlab  = "手自排",
        yalb = "百分比",
        sub="by lee")
## Warning in plot.window(xlim, ylim, log = log, ...): "yalb" is not a graphical
## parameter
## Warning in axis(if (horiz) 2 else 1, at = at.l, labels = names.arg, lty =
## axis.lty, : "yalb" is not a graphical parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...): "yalb"
## is not a graphical parameter
## Warning in axis(if (horiz) 1 else 2, cex.axis = cex.axis, ...): "yalb" is not a
## graphical parameter

#五、請計算wt:Weight車體重量的1.平均數、2.中位數、3.全距、4.標準差、5.變異數、
x$wt
##  [1] 2.620 2.875 2.320 3.215 3.440 3.460 3.570 3.190 3.150 3.440 3.440 4.070
## [13] 3.730 3.780 5.250 5.424 5.345 2.200 1.615 1.835 2.465 3.520 3.435 3.840
## [25] 3.845 1.935 2.140 1.513 3.170 2.770 3.570 2.780
table(x$wt)
## 
## 1.513 1.615 1.835 1.935  2.14   2.2  2.32 2.465  2.62  2.77  2.78 2.875  3.15 
##     1     1     1     1     1     1     1     1     1     1     1     1     1 
##  3.17  3.19 3.215 3.435  3.44  3.46  3.52  3.57  3.73  3.78  3.84 3.845  4.07 
##     1     1     1     1     3     1     1     2     1     1     1     1     1 
##  5.25 5.345 5.424 
##     1     1     1
mean(x$wt)
## [1] 3.21725
median(x$wt)#中位數
## [1] 3.325
max(x$wt)
## [1] 5.424
min(x$wt)
## [1] 1.513
max(x$wt)-min(x$wt)#全距
## [1] 3.911
sd(x$wt)#標準差
## [1] 0.9784574
var(x$wt)#變異數
## [1] 0.957379
#六、請繪製wt:Weight車體重量的盒狀圖與直方圖?
boxplot(x$wt, main = "車重")

hist(x$wt, main = "車種")

#七、車體重量(wt)與馬力(hp)何者對耗油量(mpg )的影響較大?

#用圖形控制函數par(mfrow = c(列數,欄數)) 畫多張圖
#pch 是 plotting character 的縮寫,16代表實心圓
par(mfrow = c(1,2))
plot(x$wt, x$mpg, col = "blue", pch = 16)
plot(x$hp, x$mpg, col = "red", pch = 17)

dev.off()#離開par()
## null device 
##           1
#用cor(x, y)計算相關係數
cor(x$wt, x$mpg)
## [1] -0.8676594
cor(x$hp, x$mpg)
## [1] -0.7761684
#八、請比較:自手排(am)、變速箱(gear)與耗油量(mpg)的關係?
#先分組,再計算
#tapply(被分析的欄位(連續變項),分組依據欄位(類別變項),計算函數)
y1 <- tapply(x$mpg, x$am2, mean)
y1
## automatic    manual 
##  17.14737  24.39231
y2 <- tapply(x$mpg, x$gear2, mean)
y2
##  3 speed  4 speed  5 speed 
## 16.10667 24.53333 21.38000
barplot(y1)
barplot(y2)
par(mfrow = c(1,2))
barplot(y1)
barplot(y2)
dev.off()
## null device 
##           1
#九、請請比較:耗油量(mpg)、馬力(hp)與加速秒數(qsec)的關係,並畫圖。
#plot(x, y)畫散佈圖

#用圖形控制函數par(mfrow = c(列數,欄數)) 畫多張圖
par(mfrow = c(1,2))
plot(x$mpg, x$qsec,
     col = "orange",
     xlab = "mpg",
     ylab = "qsec",
     main = "mpg/qsec",
     sub = "Peter Liu")
plot(x$hp, x$qsec,
     col = "purple",
     xlab = "hp",
     ylab = "qsec",
     main = "hp/qsec",
     sub = "Peter Liu")
dev.off()#離開par()
## null device 
##           1
#用cor(x, y)計算相關係數
cor(x$mpg, x$qsec)
## [1] 0.418684
cor(x$hp, x$qsec)
## [1] -0.7082234
#十、請比較:汽缸數(cyl)、變速箱(gear)與加速秒數(qsec)的關係,並畫圖。

#十一、請畫出不同變速箱(gear)在耗油量(mpg)的分佈差異?(分組盒狀圖)

#分組盒狀圖:
#畫法一:boxplot(連續變項(y軸)~類別變項(x軸))
boxplot(x$mpg~x$gear2,
        col=c(3:5))

#畫法二:plot(類別變項, 連續變項)
plot(x$gear2, x$mpg)



#十二、請畫出不同排檔方式(自手排(am))在耗油量(mpg)分佈的差異?

plot(x$am2, x$mpg)
boxplot(x$mpg~x$am2)

#十三、以變速箱(gear)為分組,比較車體重量(wt)與耗油量(mpg)的關係。
#pch 是 plotting character 的縮寫,16代表實心圓
plot(x$wt, x$mpg, col = "blue", pch = 16)
plot(x$wt, x$mpg, col = "blue",pch = x$gear)#以x$gear區別資料點的樣式
plot(x$wt, x$mpg, col=x$gear ,pch = x$gear)#以x$gear區別資料點顏色與樣式
legend(x="topright",
       legend=c(3,4,5),
       col=c(3,4,5),
       pch = c(3,4,5))



#十四、
#一次放兩個類別變項的交叉與連續變項
#兩種語法
boxplot(x$hp~x$am2*x$gear2)
boxplot(hp~am2*gear2, data = x)