R语言是用于统计分析、绘图的语言和操作环境。R的统计分析能力突出,有强大的数据展示能力。而其本质作为编程语言,具有着强大的拓展和开发能力,可以编制自己的函数,或制作独立的统计分析包、快速实现新算法。
R软件可以从其官网(https://www.r-project.org/或者https://www.rstudio.com)下载安装。R提供了超过4000个包,这些包可以实现很多不同的功能,而R自带了一系列的默认包,利用这些默认包,就可以画出一些基础的图形。小V下面就介绍一些基础图形的绘制方法,当然,也可能会涉及到一些加载不出来的扩展包,这说明这不是R自带的,需要先获取并安装install.packages(“包名称”),再下载不是R自带的其他扩展包。
直方图
直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或百分比,宽度则表示各组的组距,因此其高度与宽度均有意义。
代码:
x = c("con","exp1","exp2","exp3")
y = c(5,8,9,7)
barplot(y,names.arg =x)
dev.off()
上面代码中,x和y可以理解为数字,x取值中con代表对照组,exp1-3代表三个实验组,y是对应的数值,然后使用绘制函数barplot()绘制,最后关闭并输出图片。
折线图
折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。
代码:
y = c(5,8,9,7,10)
plot(y,type="o")
dev.off()
散点图
散点图可以描述两个连续型变量间的关系。并且经过一些拟合,可以探索两个变量之间的关系
代码:
x = c(1,2,3,4,5,6,7,8,9,10,11)
y = c(5,8,9,7,10,6,4,7,8,3,9)
plot(x,y)
dev.off()
散点图需要有X值和Y值,上面采用的函数依然是plot()函数,运行之后得到如下图片。当然你可以更改散点的类型,可以有三角形、正方形等20多种类型可选,甚至可以自定义散点类型
饼图
饼图是由扇形面积来表示组分所占比例,用pie函数实现
代码:
x = c(5,8,9,7)
label = c("一月","二月","三月","四月")
pie(x,label)
dev.off()
饼图中需要有一个标签label值,运行上面程序得到如下的图片:
箱线图
箱线图通过绘制连续型变量的五数总括(最小值、下四分位数、中位数、上四分位数、最大值),描述了连续型变量的分布。同时,在一副图中并列放置多组样品的箱线图,可以直观的进行跨组比较。
代码:
用mtcars数据集里的mpg列作为y坐标,用cyl列作为分组方式进行箱图绘制。
boxplot(mpg ~ cyl, data = mtcars, xlab = "气缸数",ylab = "英里每加仑")
dev.off()
下面是图个R语言的操作界面:
上面的图形看上去很丑,其实只是我们没有添加更多的参数,就是一些简单的语句,稍微增加些参数或者采用已经写好的程序包,你就可以绘制如下的图片啦!
条形图
载入vcd包
library("vcd")
将数据框Arthritis的Improved列提出,制成表格
counts <- table(Arthritis$Improved)
绘制条形图,定义了横纵坐标轴名,标题,以及颜色
barplot(counts,main="Simple Bar Plot",xlab="Improvement",ylab="Frequency",col=c("lightseagreen", "lightcoral","mediumpurple"))
图形展示如下:
频率直方图
直方图通过x轴上将值域分割为一定数量的组,在y轴上显示相应值的频数,可以展示连续型变量的分布。
将mtcar数据集中的mpg列挑出来
x<- mtcars$mpg
绘制直方图,定义x分组数,颜色以及坐标轴名称
h<-hist(x,breaks=12,col="red",xlab="MilesPer Gallon",main="Histogram with normal curve and box")
构造正态曲线数据
xfit <- seq(min(x),max(x),length=40)
yfit <- dnorm(xfit,mean=mean(x),sd=sd(x))
yfit <- yfit*diff(h$mids[1:2])*length(x)
绘制正态曲线
lines(xfit,yfit,col="blue",lwd=2)
绘制外层边框
box()
图如下:
箱线图
代码如下:
用mtcars数据集里的mpg列作为y坐标,用cyl列作为分组方式进行箱图绘制
boxplot(mpg~cyl,data=mtcars,main="Car Mileage Data",xlab="Number of Cylinders", ylab="Miles Per Gallon",col=c("red","yellow","green"))
图形展示如下:
散点图
代码:
attach(mtcars)
绘制散点图,定义点的类型、横纵坐标轴名以及标题
plot(wt,mpg,main="Basic Scatter plot of MPG vs. Weight",xlab="Car Weight (lbs/1000)",ylab="Miles Per Gallon",pch=19)
添加最佳拟合的线性直线,并定义颜色,线型,线宽
abline(lm(mpg~wt),col="red",lwd=2,lty=1)
添加平滑的曲线,并定义颜色,线型,线宽
lines(lowess(wt,mpg),col="blue",lwd=2,lty=2)
图形展示如下: