作者:丁點helper
來源: 丁點幫你
前面2篇R語言相關的文章以鐵達尼號的數據為例,介紹了描述性統計中用到的計算操作,以及柱形圖的繪製操作。今天我們繼續聊聊如何在R中繪製直方圖和散點圖。
繪製直方圖
仍使用titanic.csv這個數據。
# 導入數據titanic <- read.csv("//Users//Desktop//titanic.csv",header = TRUE) names(titanic) # 查看titanic中的變量名[1] "pclass" "survived" "sex" "age" "sibsp" "parch"
假設我們想對age這個變量繪製直方圖,了解鐵達尼號上乘客的年齡分布,可用hist()這個函數:
hist(titanic$age)
上圖中直方圖標題、顏色、坐標軸名稱均可調整:
hist(titanic$age, col='orange', main='Passenger Age', lwd=2, xlab='Age (years)')
其中,col、main、xlab這三個命令在之前的文章中講過;lwd為線條寬度命令,取值須為整數,默認值為1。
繪製散點圖
接下來我們看看如何繪製散點圖。還是老規矩,要用到的數據可通過以下方式下載:
文件名: wb.csv
連結: https://pan.baidu.com/s/1gOAuccW5i8cIW5HaPHnm8A
密碼: nc5u
這是世界銀行(word bank)對部分國家社會、經濟、環境指標的統計數據。
# 導入數據wb <- read.csv("//Users//Desktop//wb.csv",header = TRUE) names(wb) # 查看wb中的變量名[1] "Country" "Code" "Population" "Rural" "GNI" "IncomeTop10" "Imports" [8] "Exports" "Military" "Cell" "Fertility66" "Fertility16" "Measles" "InfMort" [15] "LifeExp" "PM2.5" "Diesel" "CO2" "EnergyUse" "FossilPct" "Forest94" [22] "Forest14" "Deforestation" "GunTotal" "GunHomicide" "GunSuicide" "GunUnint" "GunUndet" [29] "GunsPer100"
這裡我們先關注第五個變量『GNI』,其意義是人均國民收入。GNI是Gross National Income的縮寫;再關注第18個變量『CO2』,其意義是人均二氧化碳排放量。
一項研究想觀察人均國民收入和人均二氧化碳排放量之間存在何種關係,由於二者均為數值型變量,我們可以用散點圖的方式直觀感受一下:
plot(wb$GNI,wb$CO2, main="CO2 vs. GNI (both per capita)", xlab="Gni per capita", ylab="CO2 per capita", col="red", pch=19)# col命令的取值還可以是數字,本例中red對應的數字是2plot(wb$GNI,wb$CO2, main="CO2 vs. GNI (both per capita)", xlab="Gni per capita", ylab="CO2 per capita", col=2, pch=19)
上面兩條代碼的運行結果是一樣的。wb$GNI 和 wb$CO2 分別為散點圖的橫軸和縱軸;pch表示點的形狀,取值為整數,本例中用到的19表示圓點。
下面用一個圖片來給大家介紹1-20的數字分別代表什麼顏色、什麼形狀:
plot(c(1:20),rep(1,20),col=c(1:20),pch=c(1:20),cex=2)
cex表示對圖中的文本或符號放大多少倍,大家可自行在R中操作,感受cex=1時圖像的變化。
舉個例子,col=15:黃色;pch=15:方塊。在R中,可選的顏色還有很多,大家可以查看下圖中的顏色名稱,繪圖時在col命令中輸入即可。
手機用戶可橫屏查看效果更佳,告別大紅大藍秋褲色就靠它了~
今天就這裡啦,之後還有更多R繪圖課程來和大家見面!