在「R作圖」專輯中,我們將向大家介紹常見圖形的R作圖方法以及對應代碼解釋,幫助大家輕鬆理解和學習R作圖技巧。
首先,在這裡勘誤第六講 R作圖-詳解基本箱式圖、線圖、餅圖。我們對此錯誤表示抱歉。
原文
#創建數據group= c("Male", "Female", "Child"), value= c(25, 25, 50) )df更正為
#創建數據df<-data.frame( group= c("Male", "Female", "Child"), value= c(25, 25, 50) )df
第十講 R作圖-巧繪非meta分析的森林圖的勘誤內容如下:
原文
forestplot()函數在Gmisc軟體包中。所以我們需要安裝Gmisc軟體包,並導入該軟體包。
install.packages('Gmisc','Hmisc')library(Gmisc)forestplot(mean=Sweden[,"coef"], lower=Sweden[,"lower"], upper=Sweden[,"upper"], labeltext=rownames(Sweden), xticks=c(-.1,-.05, 0, .05))更正為
forestplot()函數在forestplot軟體包中。所以我們需要安裝forestplot軟體包,並導入該軟體包。
install.packages('forestplot')library(forestplot)forestplot(mean=Sweden[,"coef"], lower=Sweden[,"lower"], upper=Sweden[,"upper"], labeltext=rownames(Sweden), xticks=c(-.1,-.05, 0, .05))
以下為今天的內容:
qplot()函數[在ggplot2包中]是與我們之前介紹的plot()函數非常相似的函數。它可用於輕鬆創建和組合不同類型的圖。雖然它仍然不如函數ggplot()靈活,但是它的入門學習相對ggplot()函數要容易很多。
數據必須是data.frame(列是變量,行是觀察值)。
我們使用R中自動數據集mtcars:
install.packages('ggplot2')library(ggplot2)data(mtcars)df <- mtcars[,c("mpg","cyl","wt")]head(df)輸出結果
mpg cyl wtMazda RX4 21.0 6 2.620Mazda RX4 Wag 21.0 6 2.875Datsun 710 22.8 4 2.320Hornet 4 Drive 21.4 6 3.215Hornet Sportabout 18.7 8 3.440Valiant 18.1 6 3.460
qplot()的簡化格式為:
qplot(x,y=NULL,data,geom="auto", xlim =c(NA,NA),ylim =c(NA,NA))
·x:x值
·y:y值(可選)
·data:要使用的數據框(可選)。
·geom:指定要使用的geom的字符向量。如果指定了x和y,則默認為「點」;如果僅指定x,則默認為「直方圖」。
·xlim,ylim:x和y軸限制範圍
還可以使用其他參數,包括main,xlab,ylab和log:
·main:圖形標題
·xlab,ylab:x和y軸標籤
·log:軸是否做對數變換。允許值為「 x」,「 y」或「 xy」
請注意,自ggplot2 2.0.0版以來,不推薦使用qplot()的stat和position參數。
可以使用數值矢量或數據框的數據來創建圖:
x<-1:10;y=x*xqplot(x,y)qplot(x,y,geom=c("point","line"))qplot(mpg,wt,data=mtcars)
選項smooth用於添加具有標準誤的平滑線:
qplot(mpg,wt,data=mtcars,geom=c("point","smooth"))
參數color可是按組給點和線著色:
qplot(mpg,wt,data=mtcars,color=factor(cyl), geom=c("point","smooth"))
可以根據連續變量或離散變量的值對點進行著色。使用參數color。
qplot(mpg,wt,data=mtcars,colour=cyl)df<-mtcarsdf[,'cyl']<-as.factor(df[,'cyl'])qplot(mpg,wt,data=df,colour=cyl)qplot(mpg,wt,data=df,colour=cyl, geom=c("point","line"))
請注意,您還可以使用以下R代碼生成第二個圖:
qplot(mpg, wt, data=df, colour=factor(cyl))
像顏色一樣,點的shape和size可以通過連續或離散變量來控制。
qplot(mpg,wt,data=mtcars,size=mpg)qplot(mpg,wt,data=mtcars,shape=factor(cyl))
參數label用於指定每個點要使用的文本:
qplot(mpg,wt,data =mtcars,label =rownames(mtcars), geom=c("point","text"), hjust=0,vjust=0)
在以下示例中使用PlantGrowth數據集:
data(PlantGrowth)head(PlantGrowth)輸出結果
weight group1 4.17 ctrl2 5.58 ctrl3 5.18 ctrl4 6.11 ctrl5 4.50 ctrl6 4.61 ctrl
·geom =「 boxplot」:繪製箱式圖
·geom =「 dotplot」:繪製點圖。需要補充參數stackdir =「 center」和binaxis =「 y」。
·geom =「violin」:繪製小提琴圖。參數trim設置為FALSE
#數值矢量繪製箱式圖x<-"1"y<-rnorm(100)qplot(x,y,geom="boxplot")#數據框繪製箱式圖qplot(group,weight,data=PlantGrowth, geom=c("boxplot"))#點圖qplot(group,weight,data=PlantGrowth, geom=c("dotplot"), stackdir= "center",binaxis= "y")#小提琴圖qplot(group,weight,data=PlantGrowth, geom=c("violin"),trim=FALSE)
按組更改顏色:
#添加jitter(抖動)並按組更改填充顏色qplot(group,weight,data=PlantGrowth, geom=c("boxplot","jitter"),fill=group)#點圖qplot(group,weight,data=PlantGrowth, geom= "dotplot",stackdir= "center",binaxis= "y", color=group,fill=group)
直方圖和密度圖用於顯示數據的分布。
下面的R代碼生成一些包含按性別加權的數據(男為M;女為F):
set.seed(1234)mydata =data.frame( sex =factor(rep(c("F","M"),each=200)), weight =c(rnorm(200,55),rnorm(200,58)))head(mydata)輸出結果
sex weight1 F 53.792932 F 55.277433 F 56.084444 F 52.654305 F 55.429126 F 55.50606
qplot(weight,data=mydata,geom= "histogram")qplot(weight,data=mydata,geom= "histogram", fill=sex)
qplot(weight,data=mydata,geom= "density")qplot(weight,data=mydata,geom= "density", color=sex,linetype=sex)
可以將標題添加到圖中,如下所示:
qplot(weight,data =mydata,geom = "density", xlab = "Weight (kg)",ylab = "Density", main = "Density plot of Weight")
參考內容:Alboukadel Kassambara, GGPlot2 Essentials for Great Data Visualization in R
好了,本期講解就先到這裡。小夥伴們趕緊試起來吧。在下一講中,我們將進行ggplot2-繪製箱式圖的講解。歡迎關注,投必得醫學,手把手帶您走入R語言的世界。
快掃二維碼撩客服,
帶你進入投必得醫學交流群,
讓我們共同進步!
↓↓
- END -
長按二維碼關注「投必得醫學」,更多科研乾貨在等你!