匯入兩筆資料

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)"

merge & corr

dta <- cbind(dta1, dta2)   # 合併 
dta.1 <- round(cor(dta), 2)  # 相關(去除過多小數點)

繪製Pair-wise correlations

library(corrplot)
## corrplot 0.84 loaded
corrplot(dta.1, method="number")

Murder與Murder(1973) 高度正相關

Assault與Murder(1973) 高度正相關

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