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








LS0tDQp0aXRsZTogIkFTNy0wQSBnZ3Bsb3QyIOe5quWcluWll+S7tiINCmF1dGhvcjogIuisnembqOmdnCwgQjAzNDAyMDAxMiINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCjxicj4NCg0KYGBge3J9DQpTeXMuc2V0bG9jYWxlKCJMQ19BTEwiLCJDIikNCnBhY2thZ2VzID0gYygNCiAgImRwbHlyIiwiZ2dwbG90MiIsImQzaGVhdG1hcCIsImdvb2dsZVZpcyIsImRldnRvb2xzIiwicGxvdGx5IiwgInhnYm9vc3QiLA0KICAibWFncml0dHIiLCJjYVRvb2xzIiwiUk9DUiIsImNvcnJwbG90IiwgInJwYXJ0IiwgInJwYXJ0LnBsb3QiLA0KICAiZG9QYXJhbGxlbCIsICJjYXJldCIsICJnbG1uZXQiLCAiTWF0cml4IiwgImUxMDcxIiwgInJhbmRvbUZvcmVzdCIsDQogICJmbGV4Y2x1c3QiLCAiRmFjdG9NaW5lUiIsICJmYWN0b2V4dHJhIiwgIm1hcHMiLCAiZ2dtYXAiLCAiaWdyYXBoIiwgInJnbCIsDQogICJ0bSIsICJTbm93YmFsbEMiLCAid29yZGNsb3VkIiwgInNsYW0iLCAiTWF0cml4IiwgIlJDb2xvckJyZXdlciINCiAgKQ0KZXhpc3RpbmcgPSBhcy5jaGFyYWN0ZXIoaW5zdGFsbGVkLnBhY2thZ2VzKClbLDFdKQ0KZm9yKHBrZyBpbiBwYWNrYWdlc1shKHBhY2thZ2VzICVpbiUgZXhpc3RpbmcpXSkgaW5zdGFsbC5wYWNrYWdlcyhwa2cpDQpgYGANCg0KYGBge3IgZWNobz1ULCBtZXNzYWdlPUYsIGNhY2hlPUYsIHdhcm5pbmc9Rn0NCnJtKGxpc3Q9bHMoYWxsPVQpKQ0Kb3B0aW9ucyhkaWdpdHM9NCwgc2NpcGVuPTEyKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkobWFwcykNCmxpYnJhcnkoZ2dtYXApDQpgYGANCg0KLSAtIC0NCg0KIyMjIDcuMSBgZ2dwbG90MmAg57mq5ZyW5aWX5Lu2DQoNCiMjIyMjIDcuMS4xIOWfuuacrOm7nueLgOWclg0KYGBge3J9DQpXSE8gPSByZWFkLmNzdigiZGF0YS9XSE8uY3N2IikNCmBgYA0KDQpgYGB7cn0NCiMgQmFzaWMgUGxvdCBpbiBSIA0KcGxvdChXSE8kR05JLCBXSE8kRmVydGlsaXR5UmF0ZSkNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCiMgQ3JlYXRlIHRoZSBnZ3Bsb3Qgb2JqZWN0IHdpdGggdGhlIGRhdGEgYW5kIHRoZSBhZXN0aGV0aWMgbWFwcGluZzoNCnNjYXR0ZXJwbG90ID0gZ2dwbG90KFdITywgYWVzKHggPSBHTkksIHkgPSBGZXJ0aWxpdHlSYXRlKSkNCmBgYA0KDQpgYGB7cn0NCiMgQWRkIHRoZSBnZW9tX3BvaW50IGdlb21ldHJ5DQpzY2F0dGVycGxvdCArIGdlb21fcG9pbnQoKSANCmBgYA0KDQpgYGB7cn0NCiMgTWFrZSBhIGxpbmUgZ3JhcGggaW5zdGVhZDoNCnNjYXR0ZXJwbG90ICsgZ2VvbV9saW5lKCkNCmBgYA0KDQpgYGB7cn0NCiMgU3dpdGNoIGJhY2sgdG8gb3VyIHBvaW50czoNCnNjYXR0ZXJwbG90ICsgZ2VvbV9wb2ludCgpDQpgYGANCg0KYGBge3J9DQojIFJlZG8gdGhlIHBsb3Qgd2l0aCBibHVlIHRyaWFuZ2xlcyBpbnN0ZWFkIG9mIGNpcmNsZXM6DQpzY2F0dGVycGxvdCArIGdlb21fcG9pbnQoY29sb3IgPSAiYmx1ZSIsIHNpemUgPSAzLCBzaGFwZSA9IDIxKQ0KYGBgDQoNCmBgYHtyfQ0KIyBBbm90aGVyIG9wdGlvbjoNCnNjYXR0ZXJwbG90ICsgZ2VvbV9wb2ludChjb2xvciA9ICJkYXJrcmVkIiwgc2l6ZSA9IDMsIHNoYXBlID0gOCkNCmBgYA0KDQpgYGB7cn0NCiMgQWRkIGEgdGl0bGUgdG8gdGhlIHBsb3Q6DQpzY2F0dGVycGxvdCArIA0KICBnZW9tX3BvaW50KGNvbG91ciA9ICJibHVlIiwgc2l6ZSA9IDMsIHNoYXBlID0gMTcpICsgDQogIGdndGl0bGUoIkZlcnRpbGl0eSBSYXRlIHZzLiBHcm9zcyBOYXRpb25hbCBJbmNvbWUiKQ0KYGBgDQoNCg0KIyMjIyMgNy4xLjIg5YSy5a2Y5ZyW5qqUDQpgYGB7cn0NCiMgU2F2ZSBvdXIgcGxvdDoNCmZlcnRpbGl0eUdOSXBsb3QgPSBzY2F0dGVycGxvdCArIA0KICBnZW9tX3BvaW50KGNvbG91ciA9ICJibHVlIiwgc2l6ZSA9IDMsIHNoYXBlID0gMTcpICsgDQogIGdndGl0bGUoIkZlcnRpbGl0eSBSYXRlIHZzLiBHcm9zcyBOYXRpb25hbCBJbmNvbWUiKQ0KDQpwZGYoIk15UGxvdC5wZGYiKQ0KcHJpbnQoZmVydGlsaXR5R05JcGxvdCkNCmRldi5vZmYoKQ0KDQpgYGANCg0KIyMjIyMgNy4xLjMg5ZyW5b2i5YWD5Lu25bGs5oCnDQpgYGB7cn0NCiMgQ29sb3IgdGhlIHBvaW50cyBieSByZWdpb246DQpnZ3Bsb3QoV0hPLCBhZXMoeCA9IEdOSSwgeSA9IEZlcnRpbGl0eVJhdGUsIGNvbG9yID0gUmVnaW9uKSkgKyANCiAgZ2VvbV9wb2ludCgpDQpgYGANCg0KYGBge3J9DQojIENvbG9yIHRoZSBwb2ludHMgYWNjb3JkaW5nIHRvIGxpZmUgZXhwZWN0YW5jeToNCmdncGxvdChXSE8sIGFlcyh4ID0gR05JLCB5ID0gRmVydGlsaXR5UmF0ZSwgY29sb3IgPSBMaWZlRXhwZWN0YW5jeSkpICsgDQogIGdlb21fcG9pbnQoKQ0KYGBgDQoNCmBgYHtyfQ0KIyBJcyB0aGUgZmVydGlsaXR5IHJhdGUgb2YgYSBjb3VudHJ5IHdhcyBhIGdvb2QgcHJlZGljdG9yIG9mIHRoZSANCiMgcGVyY2VudGFnZSBvZiB0aGUgcG9wdWxhdGlvbiB1bmRlciAxNT8NCmdncGxvdChXSE8sIGFlcyh4ID0gRmVydGlsaXR5UmF0ZSwgeSA9IFVuZGVyMTUpKSArIGdlb21fcG9pbnQoKQ0KYGBgDQoNCiMjIyMjIDcuMS40IOaVuOWAvOWwuuW6puavlOS+i+i9ieaPmw0KYGBge3J9DQojIExldCdzIHRyeSBhIGxvZyB0cmFuc2Zvcm1hdGlvbjoNCmdncGxvdChXSE8sIGFlcyh4ID0gbG9nKEZlcnRpbGl0eVJhdGUpLCB5ID0gVW5kZXIxNSkpICsgZ2VvbV9wb2ludCgpDQpgYGANCg0KDQojIyMjIyA3LjEuNSDlm57mrbjotqjli6Lnt5oNCmBgYHtyfQ0KIyBTaW1wbGUgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWwgdG8gcHJlZGljdCB0aGUgcGVyY2VudGFnZSBvZiB0aGUgDQojIHBvcHVsYXRpb24gdW5kZXIgMTUsIHVzaW5nIHRoZSBsb2cgb2YgdGhlIGZlcnRpbGl0eSByYXRlOg0KbW9kID0gbG0oVW5kZXIxNSB+IGxvZyhGZXJ0aWxpdHlSYXRlKSwgZGF0YSA9IFdITykNCnN1bW1hcnkobW9kKQ0KYGBgDQoNCmBgYHtyfQ0KIyBBZGQgdGhpcyByZWdyZXNzaW9uIGxpbmUgdG8gb3VyIHBsb3Q6DQpnZ3Bsb3QoV0hPLCBhZXMoeCA9IGxvZyhGZXJ0aWxpdHlSYXRlKSwgeSA9IFVuZGVyMTUpKSArIA0KICBnZW9tX3BvaW50KCkgKyBzdGF0X3Ntb290aChtZXRob2QgPSAibG0iKQ0KYGBgDQoNCiMjIyMjIDcuMS42IOi2qOWLoue3mueahOS/oeiztOWNgOmWkw0KYGBge3J9DQojIDk5JSBjb25maWRlbmNlIGludGVydmFsDQpnZ3Bsb3QoV0hPLCBhZXMoeCA9IGxvZyhGZXJ0aWxpdHlSYXRlKSwgeSA9IFVuZGVyMTUpKSArIA0KICBnZW9tX3BvaW50KCkgKyBzdGF0X3Ntb290aChtZXRob2QgPSAibG0iLCBsZXZlbCA9IDAuOTkpDQpgYGANCg0KYGBge3J9DQojIE5vIGNvbmZpZGVuY2UgaW50ZXJ2YWwgaW4gdGhlIHBsb3QNCmdncGxvdChXSE8sIGFlcyh4ID0gbG9nKEZlcnRpbGl0eVJhdGUpLCB5ID0gVW5kZXIxNSkpICsgDQogIGdlb21fcG9pbnQoKSArIHN0YXRfc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNlID0gRkFMU0UpDQpgYGANCg0KYGBge3J9DQojIENoYW5nZSB0aGUgY29sb3Igb2YgdGhlIHJlZ3Jlc3Npb24gbGluZToNCmdncGxvdChXSE8sIGFlcyh4ID0gbG9nKEZlcnRpbGl0eVJhdGUpLCB5ID0gVW5kZXIxNSkpICsgDQogIGdlb21fcG9pbnQoKSArIHN0YXRfc21vb3RoKG1ldGhvZCA9ICJsbSIsIGNvbG91ciA9ICJvcmFuZ2UiKQ0KYGBgDQoNCiMjIyMjIDcuMS43IOWIhue+pOm7nueLgOWclg0KYGBge3J9DQojIHF1aXotMToNCmdncGxvdChXSE8sIGFlcyh4ID0gRmVydGlsaXR5UmF0ZSwgeSA9IFVuZGVyMTUsIGNvbD1SZWdpb24pKSArIA0KICBzY2FsZV9jb2xvcl9icmV3ZXIocGFsZXR0ZT0iQWNjZW50IikgKw0KICBnZW9tX3BvaW50KCkNCmBgYA0KDQojIyMjIyA3LjEuOCDliIbmoLzpu57ni4DlnJYNCmBgYHtyfQ0KIyBxdWl6LTE6DQpnZ3Bsb3QoV0hPLCBhZXMoeCA9IGxvZyhQb3B1bGF0aW9uKSwgeSA9IEdOSSwgY29sb3I9UmVnaW9uKSkgKyANCiAgZ2VvbV9wb2ludCgpICsgDQogIHN0YXRfc21vb3RoKG1ldGhvZD0nbG0nKSArDQogIGZhY2V0X3dyYXAoflJlZ2lvbikgKyB0aGVtZV9idygpDQpgYGANCg0KPGJyPg0KDQotIC0gLQ0KDQo8YnI+PGJyPjxicj48YnI+PGJyPg0KDQo8c3R5bGU+DQouY2FwdGlvbiB7DQogIGNvbG9yOiAjNzc3Ow0KICBtYXJnaW4tdG9wOiAxMHB4Ow0KfQ0KcCBjb2RlIHsNCiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7DQp9DQpwcmUgew0KICB3b3JkLWJyZWFrOiBub3JtYWw7DQogIHdvcmQtd3JhcDogbm9ybWFsOw0KICBsaW5lLWhlaWdodDogMTsNCn0NCnByZSBjb2RlIHsNCiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7DQp9DQpwLGxpIHsNCiAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCAi5b6u6Luf5q2j6buR6auUIiwgIk1pY3Jvc29mdCBKaGVuZ0hlaSI7DQp9DQoNCi5yew0KICBsaW5lLWhlaWdodDogMS4yOw0KfQ0KDQp0aXRsZXsNCiAgY29sb3I6ICNjYzAwMDA7DQogIGZvbnQtZmFtaWx5OiAiVHJlYnVjaGV0IE1TIiwgIuW+rui7n+ato+m7kemrlCIsICJNaWNyb3NvZnQgSmhlbmdIZWkiOw0KfQ0KDQpib2R5ew0KICBmb250LWZhbWlseTogIlRyZWJ1Y2hldCBNUyIsICLlvq7ou5/mraPpu5Hpq5QiLCAiTWljcm9zb2Z0IEpoZW5nSGVpIjsNCn0NCg0KaDEsaDIsaDMsaDQsaDV7DQogIGNvbG9yOiAjMDA4ODAwOw0KICBmb250LWZhbWlseTogIlRyZWJ1Y2hldCBNUyIsICLlvq7ou5/mraPpu5Hpq5QiLCAiTWljcm9zb2Z0IEpoZW5nSGVpIjsNCn0NCg0KaDN7DQogIGNvbG9yOiAjYjM2YjAwOw0KICBiYWNrZ3JvdW5kOiAjZmZlMGIzOw0KICBsaW5lLWhlaWdodDogMjsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCmg1ew0KICBjb2xvcjogIzAwNjAwMDsNCiAgYmFja2dyb3VuZDogI2ZmZmZlMDsNCiAgbGluZS1oZWlnaHQ6IDI7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQplbXsNCiAgY29sb3I6ICMwMDAwYzA7DQogIGJhY2tncm91bmQ6ICNmMGYwZjA7DQogIH0NCjwvc3R5bGU+DQoNCg==