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]))
}

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标签
)

突出某个盒子,如阳性和阴性对照
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 -")

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

R语言与医学统计图形【2】散点图、盒形图的更多相关文章
- R语言与医学统计图形-【32】海盗图、词云图、日历图
1.海盗图 参数众多,其语法与基础包类似. 基础图. #devtools::install_github('ndphillips/yarrr') #install.packages('yarrr') ...
- R语言与医学统计图形-【31】动态交互绘图
1.plotly包 动态散点图 library(plotly) # 交互散点图 plot_ly(data=iris, x=~Sepal.Length, y=~Petal.Length, marker= ...
- R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr
ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...
- R语言与医学统计图形-【19】ggplot2坐标轴调节
ggplot2绘图系统--坐标轴调节 scale函数:图形遥控器.坐标轴标度函数: scale_x_continous scale_y_continous scale_x_discrete scale ...
- R语言与医学统计图形【1】par函数
张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par ...
- R语言与医学统计图形【5】饼图、条件图
R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...
- R语言与医学统计图形【6】低级绘图函数
R语言基础绘图系统 基础绘图包之低级绘图函数--定义坐标轴.图例.文本 低级绘图函数:本身不具备图形绘制能力,只是在已有图形基础上添加元素. 函数 功能 arrows 添加箭头 axis 坐标轴 bo ...
- R语言与医学统计图形【4】直方图、金字塔图
R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...
- R语言与医学统计图形【3】条形图、误差图
R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...
随机推荐
- DDL_Killer Alpha版本 Bug集中反馈处
本博客用于DDL_Killer Alpha版本的Bug集中反馈. 您可以在本博客的下方评论区处留言,反馈您在使用DDl_Killer的过程中遇到的问题,以帮助我们更好的改进本产品. 我们会尽快修复找到 ...
- 基于RequestBodyAdvice和ResponseBodyAdvice来实现spring中参数的加密和解密
在日常开发中,有时候我们经常需要和第三方接口打交道,有时候是我们调用别人的第三方接口,有时候是别人在调用我们的第三方接口,那么为了调用接口的安全性,一般都会对传输的数据进行加密操作,如果每个接口都由我 ...
- windows下wchar_t的问题
使用vs新建工程或者编译工程的时候默认在编译设置里面讲wchar_t设置为内置类型,如下图: 但是在编译相互依赖的工程的时候,如果有的工程不将wchar_t设置为内置类型的时候,将会出现链接错误,需要 ...
- 注意 .NET string.GetHashCode() 用法
需求案例:需要把字符串存入数据库,并且要求数据库中不能有重复的字符串,由此就引出了将字符串hash成特定的hash值,依靠查询hash值是否重复来判断字符串是否重复.这样做的好处在于查询重复字符串的代 ...
- c 不同类型的指针
今天看到了一个问题:c里面,不同类型的指针是否可以互指呢?也就是不同类型的指针之间是否可以互相赋值,我想了想,对于32位机子而言,所有类型的指针都是4Byte(64位就是8Byte,这里只讨论32位) ...
- 碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python
碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python 题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率.(这里的相撞是指存在任意两只 ...
- (一)FastDFS 高可用集群架构学习---简介
1.什么是FastDFS FastDFS 是余庆老师用c语言编写的一筐开源的分布式文件系统,充分考虑了冗余备份,负载均衡,线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS可以很容易搭建一 ...
- pip 安装使用 ImportError: No module named setuptools 解决方法
安装过程详见这篇博客: http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa/ 安装后运行到:python setup.py ins ...
- 用 Node.js 实现的最简单的 HTTP 服务器
用 Node.js 实现的最简单的 HTTP 服务器 //app.js var http = require('http'); http.createServer(function(req, res) ...
- hive 权限排查
show grant role role_username id username