匯入兩筆資料
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) 高度負相關