zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    wp7 db
    wp7 webpair
    wp7 弹出动画
    wp7 执行独立存储任务
    黑马程序员第二阶段JAVA网络编程第24天
    黑马程序员第二阶段图形用户界面第22天(1)
    黑马程序员第三阶段Java基础加强第26天
    黑马程序员第三阶段Java基础加强第25天
    黑马程序员第二阶段Java高级IO第21天
    黑马程序员第二阶段JAVA网络编程第23天
  • 原文地址:https://www.cnblogs.com/jessepeng/p/12273617.html
Copyright © 2011-2022 走看看