R语言基础绘图系统

基础图形——直方图、金字塔图

3.直方图

参数设置及比较。

op <- par(mfrow=c(2,3))
data <- rnorm(100,10,5) hist(data,col = 'light green') #默认分组
hist(data,col = 'sky blue',breaks = 15) #分成15组
hist(data,col = 'orange',breaks = seq(-5,25,1)) #自定义组距
hist(data,col = 'pink',breaks = seq(-5,25,1),density = T) hist(data,col = 'pink',breaks = seq(-5,25,1),freq = F) #freq绘制概率密度图
lines(density(data),col='blue',lty=1,lwd=2) #添加曲线 par(op)

直方图叠加。

#泰坦尼克号不同年龄与生存关系
library(effects)
data("TitanicSurvival")
hist(TitanicSurvival$age,main = 'Passenger survial by age',
xlab = 'Age',col = 'sky blue',breaks = seq(0,80,2))
hist(TitanicSurvival$age[which(TitanicSurvival$survived=="no")],
col='orange',breaks=seq(0,80,2),add=TRUE) #add添加死亡直方图

背靠背直方图(back to back histogram)。

df=data.frame(x=rnorm(100),x2=rnorm(100,mean = 2))
#将两个直方图存入对象
h1=hist(df$x,plot = F)
h2=hist(df$x2,plot = F)
#将h2的值反转
h2$counts=-h2$counts
#找到y轴取值范围
hmax=max(h1$counts)
hmin=min(h2$counts)
#找到x轴取值范围
X=c(h1$breaks,h2$breaks)
xmax=max(X)
xmin=min(X) plot(h1,ylim = c(hmin,hmax),col='green',
xlim = c(xmin,xmax),
main = '背靠背直方图')
#用低级绘图函数将h2添加上去。
lines(h2,col='blue')

镜面图(mirror plot)

与背靠背直方图类似,只是展示的是概率密度曲线或其他曲线,而非条柱。

x1=rnorm(100)
x2=rnorm(100,mean = 2)
par(mfrow=c(2,1)) #设置第一张画布大小,为在同一张画布中容下两张图
par(mar=c(0,5,3,3))
plot(density(x1),main = "",xlab = "",
ylim=c(0,1),xaxt="n", #是否设置x轴,n不绘制
las=1,col='slateblue1',lwd=4) #设置第二张画布大小
par(mar=c(5,5,0,3))
plot(density(x2),main = "",xlab = "Value of variable",
ylim=c(1,0), #范围应与第一张一致
las=1,col='tomato3',lwd=4)

4.金字塔图

如展示不同年龄组男女人口数的分布情况。

library(DescTools)
par(mfrow=c(1,3))
m.pop <- runif(18,0,4)
f.pop <- runif(18,0,4)
age <- c('1-5','6-10','11-15','16-20','21-25','26-30',
'31-35','36-40','41-45','46-50','51-55','56-60',
'61-65','66-70','71-75','76-80','81-85','86+')
#左侧图
DescTools::PlotPyramid(m.pop,f.pop,
ylab=age,space=0,
col=c('cornflowerblue','indianred'),
main='Age distribution at baseline',
lxlab='male',rxlab='female') #左右两边x轴标签
#中间图
PlotPyramid(m.pop,f.pop,
ylab = age,space=0,
col=c('cornflowerblue','indianred'),
xlim=c(-5,5),
main = 'Age distribution at baseline',
lxlab='male',rxlab='female',
gapwidth = 0,ylab.x = -5)#将y轴移到x=-5位置,无gap
#右侧图
PlotPyramid(c(1,3,5,2,0.5),c(2,4,6,1,0),
ylab = LETTERS[1:5],space=0.3, #每个条柱左边留一定空隙
col=rep(rainbow(5),each=2),
xlim = c(-10,10),args.grid = NA,
cex.names = 1.5,adj = 1,
lxlab = 'Group A',rxlab = 'Group B',
gapwidth = 0,ylab.x = -8,xaxt = 'n')

R语言与医学统计图形【4】直方图、金字塔图的更多相关文章

  1. R语言与医学统计图形【1】par函数

    张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par ...

  2. R语言与医学统计图形【6】低级绘图函数

    R语言基础绘图系统 基础绘图包之低级绘图函数--定义坐标轴.图例.文本 低级绘图函数:本身不具备图形绘制能力,只是在已有图形基础上添加元素. 函数 功能 arrows 添加箭头 axis 坐标轴 bo ...

  3. R语言与医学统计图形【5】饼图、条件图

    R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...

  4. R语言与医学统计图形【3】条形图、误差图

    R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...

  5. R语言与医学统计图形【2】散点图、盒形图

    R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...

  6. R语言与医学统计图形【8】颜色的选取

    R语言基础绘图系统 基础绘图包之低级绘图函数--内置颜色. 1.内置颜色选取 功能657种内置颜色.colors() 调色板函数:palette(), rgb(), rainbow(). palett ...

  7. R语言与医学统计图形【7】低级绘图函数

    R语言基础绘图系统 基础绘图包之低级绘图函数--气泡图.一页多图.背景网格.添加线条和散点.数学表达式 4.气泡图 symbols是高级绘图函数,可在图上添加标记,标记的形状包括:circles,sq ...

  8. R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图

    1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...

  9. R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr

    ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...

随机推荐

  1. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在Keil MDK下的使用

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...

  2. 权限管理RBAC模型概述

    一.什么是RBAC模型 RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是比较早期提出的权限实现模型,在多用户计算机时期该思想即被提出,其中以美国George ...

  3. elasticsearch的索引重建

    我们知道es在字段的mapping建立后就不可再次修改mapping的值.在我们实际的情况下有些时候就是需要修改mapping的值,解决方案就是重新构建索引数据. 方式一 : 使用索引别名,创建另外一 ...

  4. Linux内核漏洞精准检测如何做?SCA工具不能只在软件层面

    摘要:二进制SCA工具要想更好的辅助安全人员实现安全审计.降低漏洞检测的误报率,必须向更细颗粒度的检测维度发展,而不仅仅停留在开源软件的层面,同时对漏洞库的要求也需要向细颗粒度的精准信息提出的挑战. ...

  5. 计算机网络之介质访问控制(静态划分信道、FDM、TDM、STDM、WDM、CDM)、(动态划分信道、ALOHA、CSMA、CSMA/CD、CSMA/CA)、令牌传递协议

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/104935912 学习课程:<2019王道考研计算机网络> 学习目的 ...

  6. 在Vue前端界面中,几种数据表格的展示处理,以及表格编辑录入处理操作。

    在Vue前端项目中,我这里主要是基于Vue+Element的开发,大多数情况下,我们利用Element的表格组件就可以满足大多数情况的要求,本篇随笔针对表格的展示和编辑处理,综合性的介绍几款表格组件的 ...

  7. Nginx(三):Linux环境(Ubuntu)下Nginx的安装

    Nginx 是一位俄罗斯人 Igor Sysoev(伊戈尔·塞索斯夫)编写的一款高性能HTTP和反向代理服务器. Nginx 主要是有C编写的,安装Nginx需要GCC编译器(GNU Compiler ...

  8. Asp.Net 熟悉 Spring

    注:(为加强记忆,所以记录下来,对于有些地方为什么那样写,我也不太理解) 一.我们先创建个窗体应用程序Demos,事先熟悉它是这么实现的 第一步,先在项目的根目录下建一个library文件夹,目的是放 ...

  9. linux ar

    转载:Linux ar命令 | 菜鸟教程 (runoob.com) Linux ar命令用于建立或修改备存文件,或是从备存文件中抽取文件. ar可让您集合许多文件,成为单一的备存文件.在备存文件中,所 ...

  10. PWN学习之整数溢出

    目录 PWN学习之整数溢出 整数溢出 溢出和回绕 漏洞多发函数 整数溢出例子 PWN学习之整数溢出 整数溢出 如果一个整数用来计算一些敏感数值,如缓冲区大小或数值索引,就会产生潜在的危险.通常情况下, ...