R语言箱线图小结~~

您所在的位置:网站首页 数据的四分位数的作用 R语言箱线图小结~~

R语言箱线图小结~~

2024-06-03 15:48| 来源: 网络整理| 查看: 265

何为箱线图~通过绘制一组数据的“最大值,最小值,中位数,上四分位数及下四分位”这五个指标来显示该数据的分散情况。作用是可以识别数据中的异常值,看看数据的偏态分布。 1:以数据集mtcars中的mpg数据为例

> boxplot(mpg, main = "Box plot", ylab = "Miles per Gallon")

boxplot()函数可以画出箱线图,具体的各个值则可以通过boxpolt.stats()清楚的显示出来,其中参数coef指定了“须”的长度的极限值,默认值是1.5,表示两条须的眼神极限不会超过盒型各端加1.5倍四分位距的范围,如果被置为0,那么两条须的延长极限就会一直打到数据集中的元素的极限位置哦,图中就不会有任何离群点。

> boxplot.stats(mpg, coef = 1.5, do.conf = T, do.out = TRUE) $stats [1] 10.40 15.35 19.20 22.80 33.90 $n [1] 32 $conf [1] 17.11916 21.28084 $out numeric(0) 另外还有其他可以获得这5个指标,与fivenum()和boxplot.stats()都是以中位数计算为基础的,summary()和quantile()。

> fivenum(mpg) [1] 10.40 15.35 19.20 22.80 33.90 > summary(mpg) Min. 1st Qu. Median Mean 3rd Qu. Max. 10.40 15.42 19.20 20.09 22.80 33.90 > quantile(mpg) 0% 25% 50% 75% 100% 10.400 15.425 19.200 22.800 33.900 2:使用并列箱线图

> boxplot(mpg~cyl, data = mtcars, main = "Car Mileage Data", xlab = "Number of Cylinders", ylab = "Miles/Gallon")

从图中可以看出不同组间友好的区别非常明显,且6缸车型的每加仑汽车行驶的英里数分布较其他两类车型更为均匀,4缸车型的每加仑汽油行驶的英里数散布最广,而且是偏正的。将参数notch设置为TRUE可以获得凹槽箱线图, 对于数值类的标签,对默认的横轴刻度标签进行替换。修改参数col可以进行着色,对两组变量可以进行区分等。

> axis(side = 1, at = c(1,2,3), labels = c("4 cylinders", "6 cylinders", "6 cylinders")) > cyl.f am.f boxplot(mpg~am.f*cyl.f, data = mtcars, varwith = T, col = c("wheat", "orange"), xlab = "Types",main = "Car Mileage Data", ylab = "Miles/Gallon", xaxt = "n", notch =T) 3.分位数和QQ 3:分位数和QQ图 0.25分位数被称为下四分位数,记 Q1,0.75分位数被称为上四分位数,记Q3。R中分布的函数名为func,形如qfunc的函数提供了相应的分位数函数。 对于连续型随机变量的分布时,我们看中的是在某个区间上的概率取值,需要用到累积分布函数。 QQ图用于直观地验证一组数据是否来自某个分布(常见的是检验数据是否来自正态分布),或者某两组数据是否来自同一个分布。 > q.dset q.dset [1] 0.05 0.15 0.25 0.35 0.45 0.55 0.65 0.75 0.85 0.95 > q.norm round(q.norm,2) [1] -1.64 -1.04 -0.67 -0.39 -0.13 0.13 0.39 0.67 1.04 1.64 > par(mfrow = c(1,2))

> plot(q.dset~q.norm, main = "Normal Q-Q Plot(Manually)", col = "red")

> qqnorm(q.dset, main = "Normal Q-Q Plot(By R)", col = "blue") There were 12 warnings (use warnings() to see them) > qqline(q.dset)

两种方法自动绘制的QQ图,效果一致。

(dnorm的返回值是正态分布概率密度函数,pnorm返回值是正态分布的分布函数。函数qnorm的返回值是给定概率p后的下分位点,rnorm的返回值是n个正态分布随机数构成的向量,qqnorm的作用是生成一个正态分布的QQ图)

exp.pop par(mfrow = c(1,2)) > qqplot(exp.pop, rexp(100, rate = 1)) > qqplot(exp.pop, exp.pop)

rexp函数是指随机产生呈现为指数分布的函数,从图可以看出,两组数据是来自同一分布的,因为图中的数据点近似在一条直线上,虽然左边的不怎么完美。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3