##載入兩筆資料

dta1 <- datasets::state.x77
dta2 <- datasets::USArrests

##看資料

help(state.x77)
## starting httpd help server ... done
help(USArrests)
dim(dta1)
## [1] 50  8
dim(dta2)
## [1] 50  4
head(dta1,n=10)
##             Population Income Illiteracy Life Exp Murder HS Grad Frost   Area
## Alabama           3615   3624        2.1    69.05   15.1    41.3    20  50708
## Alaska             365   6315        1.5    69.31   11.3    66.7   152 566432
## Arizona           2212   4530        1.8    70.55    7.8    58.1    15 113417
## Arkansas          2110   3378        1.9    70.66   10.1    39.9    65  51945
## California       21198   5114        1.1    71.71   10.3    62.6    20 156361
## Colorado          2541   4884        0.7    72.06    6.8    63.9   166 103766
## Connecticut       3100   5348        1.1    72.48    3.1    56.0   139   4862
## Delaware           579   4809        0.9    70.06    6.2    54.6   103   1982
## Florida           8277   4815        1.3    70.66   10.7    52.6    11  54090
## Georgia           4931   4091        2.0    68.54   13.9    40.6    60  58073
head(dta2,n=10) 
##             Murder Assault UrbanPop Rape
## Alabama       13.2     236       58 21.2
## Alaska        10.0     263       48 44.5
## Arizona        8.1     294       80 31.0
## Arkansas       8.8     190       50 19.5
## California     9.0     276       91 40.6
## Colorado       7.9     204       78 38.7
## Connecticut    3.3     110       77 11.1
## Delaware       5.9     238       72 15.8
## Florida       15.4     335       80 31.9
## Georgia       17.4     211       60 25.8
str(dta1)
##  num [1:50, 1:8] 3615 365 2212 2110 21198 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:50] "Alabama" "Alaska" "Arizona" "Arkansas" ...
##   ..$ : chr [1:8] "Population" "Income" "Illiteracy" "Life Exp" ...
str(dta2)
## 'data.frame':    50 obs. of  4 variables:
##  $ Murder  : num  13.2 10 8.1 8.8 9 7.9 3.3 5.9 15.4 17.4 ...
##  $ Assault : int  236 263 294 190 276 204 110 238 335 211 ...
##  $ UrbanPop: int  58 48 80 50 91 78 77 72 80 60 ...
##  $ Rape    : num  21.2 44.5 31 19.5 40.6 38.7 11.1 15.8 31.9 25.8 ...

##由於有兩個Murder不同年份,因此先改名在畫圖

names(dta2)[names(dta2)=="Murder"]="Murder(1973)"

##合併資料

dta <- cbind(dta1,dta2)
str(dta)
## 'data.frame':    50 obs. of  12 variables:
##  $ Population  : num  3615 365 2212 2110 21198 ...
##  $ Income      : num  3624 6315 4530 3378 5114 ...
##  $ Illiteracy  : num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
##  $ Life Exp    : num  69 69.3 70.5 70.7 71.7 ...
##  $ Murder      : num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
##  $ HS Grad     : num  41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
##  $ Frost       : num  20 152 15 65 20 166 139 103 11 60 ...
##  $ Area        : num  50708 566432 113417 51945 156361 ...
##  $ Murder(1973): num  13.2 10 8.1 8.8 9 7.9 3.3 5.9 15.4 17.4 ...
##  $ Assault     : int  236 263 294 190 276 204 110 238 335 211 ...
##  $ UrbanPop    : int  58 48 80 50 91 78 77 72 80 60 ...
##  $ Rape        : num  21.2 44.5 31 19.5 40.6 38.7 11.1 15.8 31.9 25.8 ...

#算相關

cor(dta)
##               Population      Income  Illiteracy    Life Exp      Murder
## Population    1.00000000  0.20822756  0.10762237 -0.06805195  0.34364275
## Income        0.20822756  1.00000000 -0.43707519  0.34025534 -0.23007761
## Illiteracy    0.10762237 -0.43707519  1.00000000 -0.58847793  0.70297520
## Life Exp     -0.06805195  0.34025534 -0.58847793  1.00000000 -0.78084575
## Murder        0.34364275 -0.23007761  0.70297520 -0.78084575  1.00000000
## HS Grad      -0.09848975  0.61993232 -0.65718861  0.58221620 -0.48797102
## Frost        -0.33215245  0.22628218 -0.67194697  0.26206801 -0.53888344
## Area          0.02254384  0.36331544  0.07726113 -0.10733194  0.22839021
## Murder(1973)  0.32024487 -0.21520501  0.70677564 -0.77849850  0.93369089
## Assault       0.31702281  0.04093255  0.51101299 -0.62665800  0.73976479
## UrbanPop      0.51260491  0.48053302 -0.06219936  0.27146824  0.01638255
## Rape          0.30523361  0.35738678  0.15459686 -0.26956828  0.57996132
##                  HS Grad      Frost        Area Murder(1973)     Assault
## Population   -0.09848975 -0.3321525  0.02254384   0.32024487  0.31702281
## Income        0.61993232  0.2262822  0.36331544  -0.21520501  0.04093255
## Illiteracy   -0.65718861 -0.6719470  0.07726113   0.70677564  0.51101299
## Life Exp      0.58221620  0.2620680 -0.10733194  -0.77849850 -0.62665800
## Murder       -0.48797102 -0.5388834  0.22839021   0.93369089  0.73976479
## HS Grad       1.00000000  0.3667797  0.33354187  -0.52159126 -0.23030510
## Frost         0.36677970  1.0000000  0.05922910  -0.54139702 -0.46823989
## Area          0.33354187  0.0592291  1.00000000   0.14808597  0.23120879
## Murder(1973) -0.52159126 -0.5413970  0.14808597   1.00000000  0.80187331
## Assault      -0.23030510 -0.4682399  0.23120879   0.80187331  1.00000000
## UrbanPop      0.35868123 -0.2461862 -0.06154747   0.06957262  0.25887170
## Rape          0.27072504 -0.2792054  0.52495510   0.56357883  0.66524123
##                 UrbanPop       Rape
## Population    0.51260491  0.3052336
## Income        0.48053302  0.3573868
## Illiteracy   -0.06219936  0.1545969
## Life Exp      0.27146824 -0.2695683
## Murder        0.01638255  0.5799613
## HS Grad       0.35868123  0.2707250
## Frost        -0.24618618 -0.2792054
## Area         -0.06154747  0.5249551
## Murder(1973)  0.06957262  0.5635788
## Assault       0.25887170  0.6652412
## UrbanPop      1.00000000  0.4113412
## Rape          0.41134124  1.0000000

##pairwise correlations

library(corrplot)
## corrplot 0.84 loaded
dtaw <- round(cor(dta), 2)
corrplot(dtaw,method = "number")

##Murder與Murder(1973) 高度正相關
#Assault與Murder(1973) 高度正相關
#Life Exp 與Murder(1973) 高度負相關