用R语言画图

2018-05-04  本文已影响0人  肖玉贤

箱线图

boxplot()是箱线图的绘制函数,一般上下两条线为该数据集合的两个极值,极大值和极小值,箱子上下边缘是分位数,箱子中的黑粗线为中位线,而且,该图像不会将异常值考虑在内

head(attenu)

boxplot(attenu$accel)

如图:

箱线图

当然我们也可以查看箱线图具体的内容

boxplot.stats(attenu$accel)#会显示详细的信息,其中stats给出的是极值、四分位数和中位数;n是数据点的个数;cof是衡量中位数的一个置信区间;out给出了具体数值, 如下图:

线箱图的具体信息

备注:这里需要给大家提醒一下,r给了两种概述函数,其中fivenum()概述同一列的数值,而summary()函数给的是整体的概述,可以附张图大家看看结果。

概述函数

散点图

head(cars)

plot(cars) #plot()散点图是对数据集范围的绘制,可以看到speed增大的时候,dist也在增大,明显是一个正相关的关系;

如图:

散点图

也可以进行图形变换,如

plot(cars$dist,cars$speed,xlab="dist(km)",ylab="speed(km/h)",xlim=c(0,20)) #表示将横坐标设为距离,将纵坐标设为速度,并且要求距离在20千米以内的小车速度的变化。这里大家可以自己试试。

线图

plot()绘制线图,这里我们是用数据AirPassengers

head(AirPassengers)

plot(AirPassengers)

结果如下图所示:

线图

若是想细致查看1958-1960年,乘客在300-600之间的图像,可以做如下的处理。

plot(AirPassengers,xlim=c(1958,1960),ylim=c(300,600),axes=FALSE) #axes是禁止坐标轴生成,以便后边使用axis()函数。

axis(1,at=seq(1958,1960,1/12))

abline(v=1958.5)

abline(v=1959.5) #实现每半年的数据趋势分析

线图1

直方图

head(iris)

hist(iris$Petal.Length)

直方图1

hist(Petal.Length,breaks=(1,7,0.00001)) #直方图保持原有高度,但是宽度变为0.00001m

直方图线图

密度直方图

接着上边调用的iris数据,绘制密度直方图

hist(Petal.Length,freq=FALSE) #不显示频数

line(seq(1,7,0.01),dnorm(seq(1,7,0.01),mean(Petal.Length),sd(Petal.length)))

lines(densiity(Petal.Length))

boxplot(Petal.Length)

结果如图:

密度直方图

茎叶图

茎叶图我在spss中已经解释过,这里只看数据统计结果。

stem(Petal.Length)

茎叶图

以第一行为例,这里的数据读取为:10,11,12,12,13,13······

也可以对茎叶图的跨度进行设置,默认为1

stem(Petal.Length,scale=0.5)

数据宽度压缩至原来的一半

好了,我的小伙伴们,今天就先到这儿吧,下期见!O(∩_∩)O哈哈~

上一篇下一篇

猜你喜欢

热点阅读