R語言與醫學統計圖形【2】散點圖、盒形圖


R語言基礎繪圖系統

基礎圖形——散點圖、盒形圖

plot是一個泛型函數(generic method),對於不同的數據繪制不同的圖形。

par函數的大部分參數在plot中通用。

1.散點圖

plot繪制散點圖類型,type有6種,即p, b, l, s, o, n

type=c('p','b','l','s','o','n')
par(mfrow=c(2,3))
for(i in 1:6){
  plot(1:10,type = type[i],
       main = paste('type is: ',type[i]))
}

image.png

2.盒形圖

原始圖

boxplot(rnorm(10))

添加參數

#range參數:觸須線(去除異常值后的最大和最小值)的延伸范圍
par(mfrow=c(1,3))
set.seed(100)
data=rnorm(40)
boxplot(data,range=0.5,xlab='range is 0.5',col = 'blue')
boxplot(data,range=1,xlab='range is 1',col = 'blue')
boxplot(data,range=1.5,xlab='range is 1.5',col='blue')
#其他參數
boxplot(len ~ dose, #連續+分類變量
        data=ToothGrowth,
        boxwex=0.25, #box寬度
        at=1:3-0.2, #盒子的位置
        subset=supp=="VC", #數據取子集
        col="yellow", #填充色
        names=c('dose=0.5','dose=1.0','dose=2.0'), #box標簽
        main="Tooth Growth",
        xlab="Vitamin C dose mg",
        ylab="tooth length",
        xlim=c(0.5,3.5),ylim=c(0,35),
        yaxs="i") #y軸樣式

多個盒子比較

boxplot(len ~ dose, 
        data=ToothGrowth,
        add=TRUE, #在當前圖形添加新的盒形圖
        boxwex=0.25, 
        at=1:3+0.2, 
        subset=supp=="OJ", 
        col="orange", 
        names=c('dose=0.5','dose=1.0','dose=2.0') #box標簽
) 

image.png

突出某個盒子,如陽性和陰性對照

names=c(rep('Maestro',20),rep('Presto',20),
        rep('Nerak',20),rep('Eskimo',20),rep('Nairobi',20),
        rep('Artiko',20))
value=c(sample(3:10,20,replace = T),sample(2:5,20,replace = T),
        sample(6:10,20,replace = T),sample(6:10,20,replace = T),
        sample(1:7,20,replace = T),sample(3:10,20,replace = T))
data=data.frame(names,value)

boxplot(data$value ~ data$names,
        col=ifelse(levels(data$names)=="Nairobi",rgb(0.1,0.1,0.7,0.5),
                   ifelse(levels(data$names)=="Eskimo",rgb(0.8,0.1,0.3,0.6),
                          "grey90")),
        ylab="disease",xlab="- varity -")

image.png

排序

#排序
order_names <- with(data,reorder(names,value,median,na.rm=T))
  #reorder排序:第一個參數需要排序的因子變量,第二個排序標准,第三個排序函數
boxplot(data$value ~ order_names,ylab = "disease",xlab = '- variety -')

image.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM