您現在的位置是:首頁 > 手機遊戲首頁手機遊戲
R語言描述統計第二彈|不同艙位乘客倖存人數的影象表達
- 2022-08-27
r語言怎麼改成中文
作者:丁點helper
上篇文章利用泰坦尼克號沉船事件中乘客的存活情況介紹了描述性資料分析,計算了不同艙位乘客的倖存率,今天我們來看看如何用影象來直觀表達。
我們先來簡單複習一下titanic。csv的內容。
# 匯入資料titanic <- read。csv(“//Users//Desktop//titanic。csv”,header = TRUE) names(titanic) # 檢視titanic中的變數名head(titanic) # 檢視titanic前6行
上篇文章計算的不同艙位乘客的死亡與倖存人數如下:
table(titanic$survived,titanic$pclass) 1st 2nd 3rd died 123 158 528 survived 200 119 181
不同艙位生存率:
survpct=paste(round(tab1[2, ]/apply(tab1,2,sum)*100,2),“%”,sep=“”)survpct[1] “61。92%” “42。96%” “25。53%”
如果我們想直觀地描述不同艙位乘客的倖存率,可以用下面的做法:
繪製柱狀圖
barplot(table(titanic$survived,titanic$pclass))
barplot()是繪製柱狀圖的函式,該函式括號中的命令為繪圖所需的資料,就是前面我們計算過的不同艙位死亡及倖存者人數。
柱狀圖的顏色也可調整,下面的程式碼中,col是更改柱狀圖顏色的命令:
barplot(table(titanic$survived,titanic$pclass), col=c(“yellow”,“dark blue”))
每個艙位死亡與倖存人數柱子的排列方式也可調整,beside為改變柱狀圖排列方式的命令;beside=T意為兩個柱子並排,beside=F意為兩個柱子上下疊放。
barplot(table(titanic$survived,titanic$pclass), col=c(“yellow”,“dark blue”), beside=T)
至此,我們已經可以將數字轉變為直觀的影象了,但是黃色和藍色的柱子分別代表倖存者還是死亡者呢?此外,影象的標題等重要資訊也未標示出來,影象的可讀性還需要透過下面的步驟來提升:
設定圖例、標題、座標軸標籤等
做法比較簡單,在上面程式碼的基礎上,增加一些命令即可:
barplot(table(titanic$survived,titanic$pclass), col=c(“yellow”,“dark blue”), beside=T, legend=T, args。legend=list(x=“topleft”), main=“Survival (Pct) by Passenger Class”, xlab=“Class”,ylab=“Count”, ylim=c(0,600))
legend為設定圖例的命令;args。legend為設定圖例位置的命令;
main為設定圖示題的命令;
xlab、ylab分別為設定x軸和y軸名稱的命令;
ylim為設定y軸範圍的命令。
從這個影象可以清晰地看出,一等艙的倖存者人數為三個艙位中最多的,而三等艙的死亡者人數遠高於其他兩個艙位。但是這個影象還缺少一個資訊,就是各艙位的存活率,我們可以在每個艙位的柱子上面標記一下:
text(c(2,5,8),c(250,250,570),survpct, cex=1。2)
text()為給圖片中增加文字的函式。
其中前兩個命令為文字的位置資訊,第一個命令為文字設定x軸方向的位置資訊,c(2,5,8)表示將文字分別放置在x取值為2,5,8處。
第二個命令為文字增加y軸方向的位置資訊,c(250,250,570)表示將其分別放置在y取值為250,250,570處。
第三個命令為文字的具體內容,survpct是之前程式的執行結果,為一、二、三等艙乘客的倖存率。
第四個命令cex為文字字號,預設值為1,此處設定為1。2,意為比預設字號大20%。
以上程式碼預設標題、x軸、y軸的文字均為英文,但有時我們也需要將其設定為中文,此時只需在上面這段程式碼中增加一個『字型 (family)』命令:將圖片中的文字設定成中文。
barplot(table(titanic$survived,titanic$pclass), col=c(“red”,“blue”), beside=T, legend=T, args。legend=list(x=“topleft”), main=“不同艙位乘客倖存數(率)”, xlab=“艙位”,ylab=“人數”,family = “SimHei”, ylim=c(0,600))
family命令需要賦值字型的英文名稱,本文將字型設定為“SimHei”,即黑體。
此處還可設定其他字型,以下連結中總結了常見中文字型的英文名,大家可根據自己的需要選擇。
部分字型中英文名稱,資料來源於下面的連結
http://guangzheng。name/2017/12/18/%E5%A6%82%E4%BD%95%E8%B0%83%E6%95%B4R%E8%AF%AD%E8%A8%80%E7%BB%98%E5%9B%BE%E7%9A%84%E5%AD%97%E4%BD%93/