实验目的

掌握R语言中直方图和核密度图的绘制

实验原理

直方图通过在X 轴上将值域分割为一定数量的组,在Y 轴上显示相应组的频数,展示了连续型变量的分布。可以使用如下函数创建直方图:hist(x),其中x是一个由数据组成的数值向量。参数freq=FALSE表示根据概率密度而不是频数绘制图形。参数breaks用于控制组的数量。在定义直方图中的单元时,默认将生成等距切分。

核密度图为一种用来观察连续型变量分布的有效方法。它是一种核密度估计,可以加在直方图上,为数据的分布提供一种更加平滑的描述绘制密度图的方法。

实验步骤

不叠加到另一幅图上方的代码为:

> plot(density(x))

其中的x是一个数值型向量。

由于plot()函数会创建一幅新的图形,所以要向一幅已经存在的图形上叠加一条密度曲线,可以使用lines()函数。具体见下例。

> hist(mtcars$mpg,freq=FALSE,breaks=12,xlab="每加仑里程(MPG)",main="汽车每加仑里程的直方图及密度曲线")
> lines(density(mtcars$mpg))

绘制R语言islands数据集直方图:

> op <- par(mfrow = c(2, 2))
> hist(islands)
> utils::str(hist(islands, col = "gray", labels = TRUE))

生成随机变量x并绘制直方图:

> require(stats)
> set.seed(14)
> x <- rchisq(100, df = 4)
> hist(x, freq = FALSE, ylim = c(0, 0.2))
> curve(dchisq(x, df = 4), col = 2, lty = 2, lwd = 2, add = TRUE)

results matching ""

    No results matching ""