rr Sys.setlocale(_ALL,)
[1] \C\
rr packages = c( ,2,3heatmap,,,, , ,,,, , .plot, , , , , 1071, , , , , , , , , , , , , ,
) existing = as.character(installed.packages()[,1]) for(pkg in packages[!(packages %in% existing)]) install.packages(pkg)
rr rm(list=ls(all=T)) options(digits=4, scipen=12) library(dplyr) library(ggplot2) library(maps) library(ggmap)
7.1 ggplot2 繪圖套件
7.1.1 基本點狀圖
rr WHO = read.csv(/WHO.csv)
rr # Basic Plot in R plot(WHO\(GNI, WHO\)FertilityRate)

rr library(ggplot2) # Create the ggplot object with the data and the aesthetic mapping: scatterplot = ggplot(WHO, aes(x = GNI, y = FertilityRate))
rr # Add the geom_point geometry scatterplot + geom_point()

rr # Make a line graph instead: scatterplot + geom_line()

rr # Switch back to our points: scatterplot + geom_point()

rr # Redo the plot with blue triangles instead of circles: scatterplot + geom_point(color = , size = 3, shape = 21)

rr # Another option: scatterplot + geom_point(color = , size = 3, shape = 8)

rr # Add a title to the plot: scatterplot + geom_point(colour = , size = 3, shape = 17) + ggtitle(Rate vs. Gross National Income)

7.1.2 儲存圖檔
rr # Save our plot: fertilityGNIplot = scatterplot + geom_point(colour = , size = 3, shape = 17) + ggtitle(Rate vs. Gross National Income) pdf(.pdf) print(fertilityGNIplot) dev.off()
null device
1
7.1.3 圖形元件屬性
rr # Color the points by region: ggplot(WHO, aes(x = GNI, y = FertilityRate, color = Region)) + geom_point()

rr # Color the points according to life expectancy: ggplot(WHO, aes(x = GNI, y = FertilityRate, color = LifeExpectancy)) + geom_point()

rr # Is the fertility rate of a country was a good predictor of the # percentage of the population under 15? ggplot(WHO, aes(x = FertilityRate, y = Under15)) + geom_point()

7.1.4 數值尺度比例轉換
rr # Let’s try a log transformation: ggplot(WHO, aes(x = log(FertilityRate), y = Under15)) + geom_point()

7.1.5 回歸趨勢線
rr # Simple linear regression model to predict the percentage of the # population under 15, using the log of the fertility rate: mod = lm(Under15 ~ log(FertilityRate), data = WHO) summary(mod)
Call:
lm(formula = Under15 ~ log(FertilityRate), data = WHO)
Residuals:
Min 1Q Median 3Q Max
-10.313 -1.774 0.045 1.744 7.717
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.654 0.448 17.1 <2e-16 ***
log(FertilityRate) 22.055 0.418 52.8 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.65 on 181 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.939, Adjusted R-squared: 0.939
F-statistic: 2.79e+03 on 1 and 181 DF, p-value: <2e-16
rr # Add this regression line to our plot: ggplot(WHO, aes(x = log(FertilityRate), y = Under15)) + geom_point() + stat_smooth(method = )

7.1.6 趨勢線的信賴區間
rr # 99% confidence interval ggplot(WHO, aes(x = log(FertilityRate), y = Under15)) + geom_point() + stat_smooth(method = , level = 0.99)

rr # No confidence interval in the plot ggplot(WHO, aes(x = log(FertilityRate), y = Under15)) + geom_point() + stat_smooth(method = , se = FALSE)

rr # Change the color of the regression line: ggplot(WHO, aes(x = log(FertilityRate), y = Under15)) + geom_point() + stat_smooth(method = , colour = )

7.1.7 分群點狀圖
rr # quiz-1: ggplot(WHO, aes(x = FertilityRate, y = Under15, col=Region)) + scale_color_brewer(palette=) + geom_point()

7.1.8 分格點狀圖
rr # quiz-1: ggplot(WHO, aes(x = log(Population), y = GNI, color=Region)) + geom_point() + stat_smooth(method=‘lm’) + facet_wrap(~Region) + theme_bw()

LS0tCnRpdGxlOiAiQVM3LTBBIGdncGxvdDIg57mq5ZyW5aWX5Lu2IgphdXRob3I6ICLmnpflmInnvr0gTTA2NDExMTAzOCwgMjAxOC8wOC8wMSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKPGJyPgoKYGBge3J9ClN5cy5zZXRsb2NhbGUoIkxDX0FMTCIsIkMiKQpwYWNrYWdlcyA9IGMoCiAgImRwbHlyIiwiZ2dwbG90MiIsImQzaGVhdG1hcCIsImdvb2dsZVZpcyIsImRldnRvb2xzIiwicGxvdGx5IiwgInhnYm9vc3QiLAogICJtYWdyaXR0ciIsImNhVG9vbHMiLCJST0NSIiwiY29ycnBsb3QiLCAicnBhcnQiLCAicnBhcnQucGxvdCIsCiAgImRvUGFyYWxsZWwiLCAiY2FyZXQiLCAiZ2xtbmV0IiwgIk1hdHJpeCIsICJlMTA3MSIsICJyYW5kb21Gb3Jlc3QiLAogICJmbGV4Y2x1c3QiLCAiRmFjdG9NaW5lUiIsICJmYWN0b2V4dHJhIiwgIm1hcHMiLCAiZ2dtYXAiLCAiaWdyYXBoIiwgInJnbCIsCiAgInRtIiwgIlNub3diYWxsQyIsICJ3b3JkY2xvdWQiLCAic2xhbSIsICJNYXRyaXgiLCAiUkNvbG9yQnJld2VyIgogICkKZXhpc3RpbmcgPSBhcy5jaGFyYWN0ZXIoaW5zdGFsbGVkLnBhY2thZ2VzKClbLDFdKQpmb3IocGtnIGluIHBhY2thZ2VzWyEocGFja2FnZXMgJWluJSBleGlzdGluZyldKSBpbnN0YWxsLnBhY2thZ2VzKHBrZykKYGBgCgpgYGB7ciBlY2hvPVQsIG1lc3NhZ2U9RiwgY2FjaGU9Riwgd2FybmluZz1GfQpybShsaXN0PWxzKGFsbD1UKSkKb3B0aW9ucyhkaWdpdHM9NCwgc2NpcGVuPTEyKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkobWFwcykKbGlicmFyeShnZ21hcCkKYGBgCgotIC0gLQoKIyMjIDcuMSBgZ2dwbG90MmAg57mq5ZyW5aWX5Lu2CgojIyMjIyA3LjEuMSDln7rmnKzpu57ni4DlnJYKYGBge3J9CldITyA9IHJlYWQuY3N2KCJkYXRhL1dITy5jc3YiKQpgYGAKCmBgYHtyfQojIEJhc2ljIFBsb3QgaW4gUiAKcGxvdChXSE8kR05JLCBXSE8kRmVydGlsaXR5UmF0ZSkKYGBgCgpgYGB7cn0KbGlicmFyeShnZ3Bsb3QyKQojIENyZWF0ZSB0aGUgZ2dwbG90IG9iamVjdCB3aXRoIHRoZSBkYXRhIGFuZCB0aGUgYWVzdGhldGljIG1hcHBpbmc6CnNjYXR0ZXJwbG90ID0gZ2dwbG90KFdITywgYWVzKHggPSBHTkksIHkgPSBGZXJ0aWxpdHlSYXRlKSkKYGBgCgpgYGB7cn0KIyBBZGQgdGhlIGdlb21fcG9pbnQgZ2VvbWV0cnkKc2NhdHRlcnBsb3QgKyBnZW9tX3BvaW50KCkgCmBgYAoKYGBge3J9CiMgTWFrZSBhIGxpbmUgZ3JhcGggaW5zdGVhZDoKc2NhdHRlcnBsb3QgKyBnZW9tX2xpbmUoKQpgYGAKCmBgYHtyfQojIFN3aXRjaCBiYWNrIHRvIG91ciBwb2ludHM6CnNjYXR0ZXJwbG90ICsgZ2VvbV9wb2ludCgpCmBgYAoKYGBge3J9CiMgUmVkbyB0aGUgcGxvdCB3aXRoIGJsdWUgdHJpYW5nbGVzIGluc3RlYWQgb2YgY2lyY2xlczoKc2NhdHRlcnBsb3QgKyBnZW9tX3BvaW50KGNvbG9yID0gImJsdWUiLCBzaXplID0gMywgc2hhcGUgPSAyMSkKYGBgCgpgYGB7cn0KIyBBbm90aGVyIG9wdGlvbjoKc2NhdHRlcnBsb3QgKyBnZW9tX3BvaW50KGNvbG9yID0gImRhcmtyZWQiLCBzaXplID0gMywgc2hhcGUgPSA4KQpgYGAKCmBgYHtyfQojIEFkZCBhIHRpdGxlIHRvIHRoZSBwbG90OgpzY2F0dGVycGxvdCArIAogIGdlb21fcG9pbnQoY29sb3VyID0gImJsdWUiLCBzaXplID0gMywgc2hhcGUgPSAxNykgKyAKICBnZ3RpdGxlKCJGZXJ0aWxpdHkgUmF0ZSB2cy4gR3Jvc3MgTmF0aW9uYWwgSW5jb21lIikKYGBgCgoKIyMjIyMgNy4xLjIg5YSy5a2Y5ZyW5qqUCmBgYHtyfQojIFNhdmUgb3VyIHBsb3Q6CmZlcnRpbGl0eUdOSXBsb3QgPSBzY2F0dGVycGxvdCArIAogIGdlb21fcG9pbnQoY29sb3VyID0gImJsdWUiLCBzaXplID0gMywgc2hhcGUgPSAxNykgKyAKICBnZ3RpdGxlKCJGZXJ0aWxpdHkgUmF0ZSB2cy4gR3Jvc3MgTmF0aW9uYWwgSW5jb21lIikKCnBkZigiTXlQbG90LnBkZiIpCnByaW50KGZlcnRpbGl0eUdOSXBsb3QpCmRldi5vZmYoKQoKYGBgCgojIyMjIyA3LjEuMyDlnJblvaLlhYPku7blsazmgKcKYGBge3J9CiMgQ29sb3IgdGhlIHBvaW50cyBieSByZWdpb246CmdncGxvdChXSE8sIGFlcyh4ID0gR05JLCB5ID0gRmVydGlsaXR5UmF0ZSwgY29sb3IgPSBSZWdpb24pKSArIAogIGdlb21fcG9pbnQoKQpgYGAKCmBgYHtyfQojIENvbG9yIHRoZSBwb2ludHMgYWNjb3JkaW5nIHRvIGxpZmUgZXhwZWN0YW5jeToKZ2dwbG90KFdITywgYWVzKHggPSBHTkksIHkgPSBGZXJ0aWxpdHlSYXRlLCBjb2xvciA9IExpZmVFeHBlY3RhbmN5KSkgKyAKICBnZW9tX3BvaW50KCkKYGBgCgpgYGB7cn0KIyBJcyB0aGUgZmVydGlsaXR5IHJhdGUgb2YgYSBjb3VudHJ5IHdhcyBhIGdvb2QgcHJlZGljdG9yIG9mIHRoZSAKIyBwZXJjZW50YWdlIG9mIHRoZSBwb3B1bGF0aW9uIHVuZGVyIDE1PwpnZ3Bsb3QoV0hPLCBhZXMoeCA9IEZlcnRpbGl0eVJhdGUsIHkgPSBVbmRlcjE1KSkgKyBnZW9tX3BvaW50KCkKYGBgCgojIyMjIyA3LjEuNCDmlbjlgLzlsLrluqbmr5TkvovovYnmj5sKYGBge3J9CiMgTGV0J3MgdHJ5IGEgbG9nIHRyYW5zZm9ybWF0aW9uOgpnZ3Bsb3QoV0hPLCBhZXMoeCA9IGxvZyhGZXJ0aWxpdHlSYXRlKSwgeSA9IFVuZGVyMTUpKSArIGdlb21fcG9pbnQoKQpgYGAKCgojIyMjIyA3LjEuNSDlm57mrbjotqjli6Lnt5oKYGBge3J9CiMgU2ltcGxlIGxpbmVhciByZWdyZXNzaW9uIG1vZGVsIHRvIHByZWRpY3QgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIAojIHBvcHVsYXRpb24gdW5kZXIgMTUsIHVzaW5nIHRoZSBsb2cgb2YgdGhlIGZlcnRpbGl0eSByYXRlOgptb2QgPSBsbShVbmRlcjE1IH4gbG9nKEZlcnRpbGl0eVJhdGUpLCBkYXRhID0gV0hPKQpzdW1tYXJ5KG1vZCkKYGBgCgpgYGB7cn0KIyBBZGQgdGhpcyByZWdyZXNzaW9uIGxpbmUgdG8gb3VyIHBsb3Q6CmdncGxvdChXSE8sIGFlcyh4ID0gbG9nKEZlcnRpbGl0eVJhdGUpLCB5ID0gVW5kZXIxNSkpICsgCiAgZ2VvbV9wb2ludCgpICsgc3RhdF9zbW9vdGgobWV0aG9kID0gImxtIikKYGBgCgojIyMjIyA3LjEuNiDotqjli6Lnt5rnmoTkv6Hos7TljYDplpMKYGBge3J9CiMgOTklIGNvbmZpZGVuY2UgaW50ZXJ2YWwKZ2dwbG90KFdITywgYWVzKHggPSBsb2coRmVydGlsaXR5UmF0ZSksIHkgPSBVbmRlcjE1KSkgKyAKICBnZW9tX3BvaW50KCkgKyBzdGF0X3Ntb290aChtZXRob2QgPSAibG0iLCBsZXZlbCA9IDAuOTkpCmBgYAoKYGBge3J9CiMgTm8gY29uZmlkZW5jZSBpbnRlcnZhbCBpbiB0aGUgcGxvdApnZ3Bsb3QoV0hPLCBhZXMoeCA9IGxvZyhGZXJ0aWxpdHlSYXRlKSwgeSA9IFVuZGVyMTUpKSArIAogIGdlb21fcG9pbnQoKSArIHN0YXRfc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNlID0gRkFMU0UpCmBgYAoKYGBge3J9CiMgQ2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgcmVncmVzc2lvbiBsaW5lOgpnZ3Bsb3QoV0hPLCBhZXMoeCA9IGxvZyhGZXJ0aWxpdHlSYXRlKSwgeSA9IFVuZGVyMTUpKSArIAogIGdlb21fcG9pbnQoKSArIHN0YXRfc21vb3RoKG1ldGhvZCA9ICJsbSIsIGNvbG91ciA9ICJvcmFuZ2UiKQpgYGAKCiMjIyMjIDcuMS43IOWIhue+pOm7nueLgOWclgpgYGB7cn0KIyBxdWl6LTE6CmdncGxvdChXSE8sIGFlcyh4ID0gRmVydGlsaXR5UmF0ZSwgeSA9IFVuZGVyMTUsIGNvbD1SZWdpb24pKSArIAogIHNjYWxlX2NvbG9yX2JyZXdlcihwYWxldHRlPSJBY2NlbnQiKSArCiAgZ2VvbV9wb2ludCgpCmBgYAoKIyMjIyMgNy4xLjgg5YiG5qC86bue54uA5ZyWCmBgYHtyfQojIHF1aXotMToKZ2dwbG90KFdITywgYWVzKHggPSBsb2coUG9wdWxhdGlvbiksIHkgPSBHTkksIGNvbG9yPVJlZ2lvbikpICsgCiAgZ2VvbV9wb2ludCgpICsgCiAgc3RhdF9zbW9vdGgobWV0aG9kPSdsbScpICsKICBmYWNldF93cmFwKH5SZWdpb24pICsgdGhlbWVfYncoKQpgYGAKCjxicj4KCi0gLSAtCgo8YnI+PGJyPjxicj48YnI+PGJyPgoKPHN0eWxlPgouY2FwdGlvbiB7CiAgY29sb3I6ICM3Nzc7CiAgbWFyZ2luLXRvcDogMTBweDsKfQpwIGNvZGUgewogIHdoaXRlLXNwYWNlOiBpbmhlcml0Owp9CnByZSB7CiAgd29yZC1icmVhazogbm9ybWFsOwogIHdvcmQtd3JhcDogbm9ybWFsOwogIGxpbmUtaGVpZ2h0OiAxOwp9CnByZSBjb2RlIHsKICB3aGl0ZS1zcGFjZTogaW5oZXJpdDsKfQpwLGxpIHsKICBmb250LWZhbWlseTogIlRyZWJ1Y2hldCBNUyIsICLlvq7ou5/mraPpu5Hpq5QiLCAiTWljcm9zb2Z0IEpoZW5nSGVpIjsKfQoKLnJ7CiAgbGluZS1oZWlnaHQ6IDEuMjsKfQoKdGl0bGV7CiAgY29sb3I6ICNjYzAwMDA7CiAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCAi5b6u6Luf5q2j6buR6auUIiwgIk1pY3Jvc29mdCBKaGVuZ0hlaSI7Cn0KCmJvZHl7CiAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCAi5b6u6Luf5q2j6buR6auUIiwgIk1pY3Jvc29mdCBKaGVuZ0hlaSI7Cn0KCmgxLGgyLGgzLGg0LGg1ewogIGNvbG9yOiAjMDA4ODAwOwogIGZvbnQtZmFtaWx5OiAiVHJlYnVjaGV0IE1TIiwgIuW+rui7n+ato+m7kemrlCIsICJNaWNyb3NvZnQgSmhlbmdIZWkiOwp9CgpoM3sKICBjb2xvcjogI2IzNmIwMDsKICBiYWNrZ3JvdW5kOiAjZmZlMGIzOwogIGxpbmUtaGVpZ2h0OiAyOwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgpoNXsKICBjb2xvcjogIzAwNjAwMDsKICBiYWNrZ3JvdW5kOiAjZmZmZmUwOwogIGxpbmUtaGVpZ2h0OiAyOwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgplbXsKICBjb2xvcjogIzAwMDBjMDsKICBiYWNrZ3JvdW5kOiAjZjBmMGYwOwogIH0KPC9zdHlsZT4KCg==