直方图通过在x轴上将值域分割为一定数量的组,在y轴上显示相应值的频数,展示了连续型变量的分布。可以使用hist()函数创建直方图
hist()用法
hist(x, breaks = "Sturges",freq = NULL, probability = !freq, include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,main = paste("Histogram of" , xname),
xlim = range(breaks), ylim = NULL,xlab = xname, ylab,axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, warn.unused = TRUE, ...)
主要参数的含义如下
参数 | 用途 |
---|---|
x | 向量,直方图所用到的数据。 |
breaks | 直方图的断点,用来表示分组的个数,主要有以下几种情况:①可以是一个向量给出直方图中每个区间的断点;②可以是一个函数用于计算每个断点的向量;③用于表示区间数的一个数字;④一个字符串用于给出计算区间数所使用的算法;⑤一个用于计算区间数的函数。 |
freq | 逻辑变量,如果设置为TRUE,则直方图的数据为频数,若为FALSE,则为概率密度。当仅当breaks为等距,且为指定probability时,freq默认为TRUE。 |
probability | 与!freq的含义相同。 |
include.lowest | 逻辑值,如果为TRUE,则如果数据x[i]等于断点值,则会包含在第一个区间条中(如right参数为FALSE,则会包含在下一个区间中)。除非breaks是向量,否则设置会被忽略并给出一个警告错误。 |
right | 逻辑值。如果设置为TRUE,则直方图条右侧区间是封闭的(左侧开放)。 |
density | 指阴影线的密度,即每英寸(2.54厘米)的线数。默认值为NULL值,意味着没有阴影线。非正值也不会绘制阴影线。 |
angle | 指阴影线的斜度,以逆时针角度给出。默认为45度。 |
col | 填充条形使用的颜色。默认值为NULL,即没有填充色。 |
border | 数字或字符串,用于描述条形边框的颜色。默认为NULL,即使用标准前景色。 |
main, xlim, ylim, xlab, ylab | 同plot函数 |
axes | 逻辑值。默认为TRUE,绘图时绘制轴。 |
labels | 逻辑值。默认为FALSE,如果为TRUE,则在条形框的顶端给出标签(频数或密度)。 |
hist()示例
## 输出2行2列的组合图形
par(mfrow=c(2,2))
hist(mtcars$mpg)
## breaks=12,分为12组
hist(mtcars$mpg,
breaks = 12,
col="red",
xlab="Miles Per Gallon",
main="Colored histogram with 12 bins")
## freq=FALSE,根据概率密度而非频数进行绘图
hist(mtcars$mpg,
freq=FALSE,
breaks = 12,
col="red",
xlab="Miles Per Gallon",
main="Histogram,rug plot,density curve")
## 轴须图rug plot是实际数据的一维呈现方式,数据点多的地方较粗,而jitter函数可以给数据点添加一个小的随机值,避免因太多重合数据点产生影响
rug(jitter(mtcars$mpg))
## 添加密度曲线
lines(density(mtcars$mpg),col="blue",lwd=2)
x <- mtcars$mpg
h <- hist(x,
breaks = 12,
col="red",
xlab="Miles Per Gallon",
main="Histogram with normal curve and box")
## 函数seq(x1,x2,n),从x1开始到x2,每间隔n取一个数,等差数列
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()
image.png
网友评论