2017年轩逸二手值多少钱-为什么不建议买自吸车


2023年11月19日发(作者:家庭买什么车经济实惠耐用)

R语?基本画图——最常?绘图函数速查

R语?描述性分析绘图篇

导读

本?是描述性分析画图篇,对于记性不?好的我,每次画图的时候都会忘掉?些参数怎么设置,所以?直想有?份R画图?全,包含所

有绘图函数的参数解释和详细例?。等是等不到了,只能??动?整理?份!翻了?遍R函数?档,历时n天终于整理好了。。啾咪,

这篇?章超级?便速查R语?画各种图的?法,包括箱线图散点图柱状图相关图等等所有重要图表的?法等,真的超级详细了。。

?、画图前需要明确的事

数据报告要包含研究?的、描述性分析、特征?程、建模分析、模型检验、模型对?的过程,最后需要加上最重要的结论和建议。其中数据

处理的第?步就是描述性分析。关于描述性分析具体怎么写以及通过统计量进?描述的内容,我在前?篇?章已经?致梳理过,详见。这次

就重点介绍如何利?统计图表来对变量进?描述性分析。

描述性分析通常要解决的问题??是两个,?是要描述单个变量的特征还是?个变量之间的关系??是变量是定性变量还是定量变量?明确

这两点后图表就易于确定了。

下?依旧主要?上?篇?章的数据集,来?狗熊会(公众号:CluBear)的??市场上在售的1289条的汽车的10项指标数据,?变量包括汽车

描述,排量,性能,级别,车门,车座,马?,发动机和前制动类型等10个变量定因变量为汽车的价格,处理后增加了年份变量,探究汽

车价格的关键影响指标。

变量类型变量名详细说明取值范围备注

因变量在售价格单位:万元1.3~280.0

?变量描述汽车品牌与年份及关键字?字信息

排量单位:升1.3~6.2

性能定性变量,2个?平?动,?动?动约占28%,?动72%

级别定性变量,5个?平?型,紧凑型,中型,中?型,?型左边按照从?到?排序

车门整数变量2,3,4,5存在部分数据偏差

车座整数变量4,5,7,8

马?连续变量85~575

发动机定性变量,7个?平L3,L4,V5,L6,V8,H4,L5代表不同的?缸排列?式

前制动类型定性变量,2个?平盘式,通风盘式制动?式,通风盘式造价较?

年份整数变量2004-2017

R语??带的就有很多绘图函数,如果更?级的作图还可以利?包,这个包具体后?再说,今天先?基础函数来写画图

graphicsggplot2

?、单变量绘图

1. 直?图

直?图通过将数值型的变量分为?组,显?对应组内的频数或者频率来刻画变量的分布情况。所以直?图通常?来刻画连续型变量的分布情

况,并且函数可以?由?成

hist(x)

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轴y轴范围等参数都是相通的,所以这边列出hist函数??最关键的?个参

数:

freq:TRUE表?y轴为频数,FALSE时表?显?频率,当且仅当间隔是等距的(且未指定概率)时,默认值为TRUE,所以平时还是

设定?下freq的值?较好

breaks:控制划分的间隔 ,可以指定以哪些节点作为断点划分区间,可以是给出直?图单元格之间的断点,或给出分组组数,?

,指定分12组,?如是指定间隔为0、1、2…10

breaks=12breaks=seq(0,10,by=1)

马上?我们??车数据的价格举例说明如何绘制直?图:

#par

函数可以将?张图放在?张纸上,下?表???两列

par(mfrow=c(1,2))

hist(价格,

breaks = c(0,10,20,30,40,50,60,70,80,100,300),

xlim=c(0,100),

freq=TRUE,

main=\'价格直?图\',

xlab = \'汽车价格\',

ylab = \'频数\',

col = \'lightblue\')

hist(log(价格),

main=\'对数价格直?图\',

xlab = \'对数价格\',

ylab = \'频数\',

col = \'lightblue\')

直?图可以很好地看出汽车价格的整体分布是右偏的,?部分集中在低价分段,这类明显符合长尾分布的变量可以考虑取对数后观察是否符

合正态分布,后续的建模也可以?对数价格去代替价格

2. 核密度图

核密度估计是?来估计变量的概率密度的?种办法,对应就是核密度图,听着很??上,其实就是把直?图的组数增加到?穷?以后得到的

图,可以相对准确地刻画分布,很多时候核密度图和直?图?需同时展?,根据实际情况挑选,两者表达的是?个意思。

density(x, bw = \"nrd0\", adjust = 1,

kernel = c(\"gaussian\", \"epanechnikov\", \"rectangular\",

\"triangular\", \"biweight\",

\"cosine\", \"optcosine\"),

weights = NULL, window = kernel, width,

give.Rkern = FALSE,

n = 512, from, to, cut = 3, na.rm = FALSE, ...)

kernel:表??于估计的核函数,?般选择?斯函数

#

核密度图

#

核密度图

par(mfrow=c(1,2))

hist(log(价格),

main=\'对数价格直?图\',

xlab = \'对数价格\',

ylab = \'频数\',

col = \'lightblue\')

plot(density(log(价格)),

main=\'对数价格核密度图\',

)

?较直?图和密度图可以看到整体趋势是?样的,密度图相当于对直?图做很细的划分得到的,整体上看对数价格的密度函数和正态分布还

是很相似的

3. 饼图

饼图常?来?较定性变量中不同类型的占?,?积越?对应?例就越?,但是从某种意义上不推荐使?饼图,因为?们对于?积的感知是?

较迟钝的,有时也可以考虑?环形图或者是条形图来代替饼图的功能。包中还有画3d饼图的函数,但是这种饼图就?较花?胡哨 ,

plotrix

没有必要去使?。?个简单的?维饼图为函数

pie

pie(x, labels = names(x), edges = 200, radius = 0.8,

clockwise = FALSE, init.angle = if(clockwise) 90 else 0,

density = NULL, angle = 45, col = NULL, border = NULL,

lty = NULL, main = NULL, ...)

?般我们直接调?函数就可以了,由于x表?每个扇形的?积,所以对于定性变量我们需要利?table函数先汇总再画图

par(mfrow=c(1,2))

pie(table(级别),main=\'车型占?饼图\')

#RColorbrewer

利?包改颜?

pie(table(级别),main=\'车型占?饼图\',col=brewer.pal(5,\'Pastel1\'))

三、多变量绘图

刚才说的都是单个变量如何刻画其分布,但是我们经常需要关注双变量间关系(?元关系)和多变量间关系(多元关系),?如以下问题我

们就需要?些新的图形来帮助我们

汽车价格与级别的关系是怎样的?

如何在?个图形中展?汽车价格、排量和性能三者之间的关系?

如何在单幅图中展??堆变量的相关性?它?如何帮助你理解数据的结构呢?

1. 条形图

条形图?常适?于描述定性变量的分布情况,它常常与table函数?起?,由于?眼对柱?的?度?对?积敏感,所以对单个变量,条形图

有时就可以代替饼状图,也可以对两个变量画分组的条形图,更好地观察变量之间的联系,具体函数参数如下

barplot(height, width = 1, space = NULL,

names.arg = NULL, legend.text = NULL, beside = FALSE,

horiz = FALSE, density = NULL, angle = 45,

col = NULL, border = par(\"fg\"),

main = NULL, sub = NULL, xlab = NULL, ylab = NULL,

xlim = NULL, ylim = NULL, xpd = TRUE, log = \"\",

axes = TRUE, axisnames = TRUE,

cex.axis = par(\"\"), cex.names = par(\"\"),

inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0,

add = FALSE, ann = !add && par(\"ann\"), args.legend = NULL, ...)

height:?个向量或值矩阵,如果height是向量,则绘图由?系列柱?组成,这些矩形柱的?度由向量中的值指定。 如果height是?

个矩阵,则该图的每个条形图都对应于?列?度,该列中的值给出了构成该条形图的堆叠?条形图的?度。

width:柱?的宽度

space:柱?之间的宽度

beside:控制是堆砌条形图还是分组条形图

horiz:控制柱??向是竖直还是?平,默认垂直

:每个柱?的名称。 如果省略此参数,则?动从height的names属性中获取名称

legend:图例

先画对于单个定性变量的条形图,需要利?函数将其转换为整合的形式再画图,不能直接把数据输?进去

table

counts<-table(级别)

counts

>级别

?型 紧凑型 中型 中?型 ?型

160 669 319 133 4

par(mfrow=c(1,2))

barplot(counts,

main = \'竖直条形图\',

#x

减?轴标签的字体

cex.names=0.7,

legend=rownames(counts),

col=brewer.pal(8,\'Blues\')[c(2,4,5,7,8)]

)

barplot(counts,

main = \'?平条形图\',

cex.names=0.7,

#las

使?旋转标签?向

las=2,

horiz=TRUE,

col=brewer.pal(8,\'Blues\')[c(2,4,5,7,8)]

)

?个简单的条形图,我们就可以从图上看出紧凑型??车最多,其次是中?型的车,?型车的数量较少,说明紧凑型是市场竞争?较激烈的

分段。

如果我们的数据是?个矩阵?不是?个向量,则将画?幅堆砌条形图或分组条形图。如果 ,则矩阵中的每

barplotbeside=FALSE (默认值)

?列都将?成图中的?个条形,各列中的值对应堆砌的“?条”的?度。如果 ,则矩阵中的每?列都表??个分组,各列中

beside=TRUE

的值将并列摆放,?如以下的例?

counts<-table(级别,性能)

counts

#

数据如下形式

> 性能

级别 ?动 ?动

?型 88 72

紧凑型 237 432

中型 32 287

中?型 2 131

?型 0 4

par(mfrow=c(1,2))

barplot(counts,

main = \'堆砌条形图\',

col=brewer.pal(8,\'Blues\')[c(2,4,5,7,8)]

)

barplot(counts,

main = \'分组条形图\',

beside=TRUE,

col=brewer.pal(8,\'Blues\')[c(2,4,5,7,8)]

)

#

?定义标签的格式

legend(\'topleft\',pch=15,rownames(counts),col=brewer.pal(8,\'Blues\')[c(2,4,5,7,8)])

对于级别和性能两个变量画条形图可以看出,?动挡总体车型??动挡多,相同点在于,?论是在?动挡还是在?动挡中紧凑型都是最集中

的部分,但是不同点在于?动挡中很少存在中?型或者?型的车,??动挡的汽车中虽然?型还是少数,但是较?的汽车还是有不少的。

2. 箱线图

箱线图通过绘制连续型变量的五数总括,即最?值、下四分位数、中位数、上四分位数(第75百分位数)以及最?值,描述了连续型变量

的分布。箱线图能够显?出可能为离群点(范围±1.5*IQR以外的值,IQR表?四分位距,即上四分位数与下四分位数的差值)的观测。以

下这张图就是箱线图的解读?式,通常我们通过?较箱体的位置就可以发现分布的差异。箱线图主要?在研究连续变量或者连续变量关于定

性变量的关系上。

boxplot(x, ..., range = 1.5, width = NULL, varwidth = FALSE,

notch = FALSE, outline = TRUE, names, plot = TRUE,

border = par(\"fg\"), col = NULL, log = \"\",

pars = list(boxwex = 0.8, staplewex = 0.5, outwex = 0.5),

ann = !add, horizontal = FALSE, add = FALSE, at = NULL)

varwidth:默认值FALSE,表?箱??样宽,TRUE时表?箱体宽度与样本??成正?,数据越多箱?越宽

notch:控制箱?是否有凹槽

x:输?的值为?个向量或者?个函数formula,?~表?函数

par(mfrow=c(1,2))

#

表?对数价格关于级别的箱线图

boxplot(log(价格)~级别,col=brewer.pal(5,\'Blues\'),varwidth=T)

#

价格关于不同变量的变化

boxplot(log(价格)~发动机,col=brewer.pal(5,\'Blues\'))

利?箱线图绘制对数价格分别关于级别和发动机的分布情况,可以看到左图中价格的分布是随着车型的增??增?的,箱?宽的代表样本?

较多,可以看出紧凑型的汽车较多,总体上散落在四分位数外的异常点相对也较少。?右图中不同发动机对应的汽车价格分布差异就较?

了,箱??较长的?如L4就是价格分布?较分散极值点也多,箱?短的?如V8就是价格相对集中?且偏?,箱线图很易于?较不同发动机

类型的差异

箱线图很强?的?个功能是研究两个因?的关系,?如说现在想观察价格关于级别和前制动类型的关系,我们可以这样实现

boxplot(log(价格)~性能*前制动类型,col=brewer.pal(5,\'Blues\'))

可以看出盘式的汽车是不存在于?动挡中的,所以图上呈现出?条直线,整体上通风盘式的汽车?盘式要贵,但是通风盘式的汽车中?动挡

??动挡贵。

但是我们也可以看出两个因?变量的箱线图并不是适?于所有数据,否则像上图?样出现缺失的情况就很难看,最佳情况是每个类型变量有

2/3个?平,并且这两个变量之间存在?定相关性,可以呈现出不同的分布情况

3. 折线图

折线图是?种很易于观察数据的变化趋势的图形,如果数据集存在时间变化,就可以考虑折线图来绘制。通过函数就可以创建,

plotplot

是RY语?作图最基本的?个函数,涵盖了众多功能,通过type参数决定绘图类型

plot(x, y, type=...)

type

what type of plot should be drawn. Possible types are

\"p\" for points,

\"l\" for lines,

\"b\" for both,

\"c\" for the lines part alone of \"b\",

\"o\" for both ‘overplotted’,

\"h\" for ‘histogram’ like (or ‘high-density’) vertical lines,

\"s\" for stair steps,

\"S\" for other steps, see ‘Details’ below,

\"n\" for no plotting.

type=ptype=ltype=b

表?绘制散点,表?绘制线条,表?点线都画,这三种是?较常?的,下??张图可以参考

如果我们想画?型汽车价格对于时间变化的折线图,那么可以这样

library(dplyr)

#counts

先?成按级别和时间分类的平均价格表

counts<-suv_data%>%

group_by(时间,级别)%>%

summarise(avg=mean(价格))%>%

arrange(级别,时间)

#pipetibbleplot

注意!?成的数据集是型的数据集,如果直接?会导致不能修改字体颜?等格式,所以得转换?下

counts<-as.data.frame(counts)

counts$时间<-as.numeric(as.character(counts$时间))

#

?成?型汽车的价格折线图

plot(subset(counts,级别==\'?型\')[,c(1,3)],

type=\'b\',

main=\'?型汽车价格折线图\',

pch=15,lty=1,

col=brewer.pal(5,\'Set2\')[1])

?型汽车的价格折现波动趋势明显,中间降低的?年很?情况是由于样本数量较少,所以导致平均数值不够稳健,出现强烈波动,我们也可

以看到整体价格并不是?直上升,在2016年左右也有放缓的趋势。那么如果我们想?较?下?型、中型?型的汽车价格趋势呢?

需要注意的是plot并不能直接分组操作,所以相对来说在?张图上画多个折线图较为繁琐,我们可以通过lines函数?起完成叠加

#xy

先根据轴的取值范围?成空?画布,

plot(c(2004,2018),c(0,150),

type=\'n\',

xlab=\'时间\',

ylab=\'价格\',

main=\'价格时间折线图\')

#lines

通过添加折线图

lines(subset(counts,级别==\'?型\')[,c(1,3)],type=\'b\',pch=15,lty=1,col=brewer.pal(5,\'Set2\')[1])

lines(subset(counts,级别==\'紧凑型\')[,c(1,3)],type=\'b\',pch=16,lty=2,col=brewer.pal(5,\'Set2\')[2])

lines(subset(counts,级别==\'中型\')[,c(1,3)],type=\'b\',pch=17,lty=3,col=brewer.pal(5,\'Set2\')[3])

lines(subset(counts,级别==\'中?型\')[,c(1,3)],type=\'b\',pch=18,lty=4,col=brewer.pal(5,\'Set2\')[4])

lines(subset(counts,级别==\'?型\')[,c(1,3)],type=\'b\',pch=19,lty=5,col=brewer.pal(5,\'Set2\')[5])

#

?定义添加图例

legend(\'topleft\',legend=c(\'?型\',\'紧凑型\',\'中型\',\'中?型\',\'?型\'),pch=15:19,lty=1:5,col=brewer.pal(5,\'Set2\'))

放到整张图上来看,?型汽车的波动就没有那么剧烈了,每?年内?型汽车都??型汽车价格更?,从波动情况来看中?型的车不稳定因素

较强。这张折线图对?性就很明显,?常适?于描述性分析。

4. 散点图

散点图可以很好地展现两个数值型变量之间的关系,是正相关还是负相关亦或是不相关,都可以通过散点图及其拟合线观察,除了刚提到

函数可以实现,包?有?个全能的函数可以绘制散点图,具体?法:

plotcarscatterplot

scatterplot(x, y, boxplots=if (by.groups) \"\" else \"xy\",

regLine=TRUE, legend=TRUE, id=FALSE, ellipse=FALSE, grid=TRUE,

smooth=TRUE,

groups, by.groups=!missing(groups),

xlab=deparse(substitute(x)), ylab=deparse(substitute(y)),

log=\"\", jitter=list(), cex=par(\"cex\"),

col=carPalette()[-1], pch=1:n.groups,

reset.par=TRUE, ...)

重要的参数有以下?个:

boxplots:如果为“ x”,则在该图下?绘制x轴变量的箱线图; 如果为“ y”,则在图的左侧绘制y轴变量的箱线图; 默认为“

xy”,绘制两个箱线图

regLine:绘制拟合的回归线。 如果regLine = FALSE,则不会画线。 如果为TRUE(默认值),则画OLS回归的拟合线。

ellipse:绘制置信椭圆, fill和可以控制是否填充椭圆以及填充的透明度。

smooth:绘制平滑器。如果smooth = TRUE,则将对未分组的数据绘制均值函数和?差函数,?仅对分组的数据绘制均值函数。 默

认的平滑器是loessLine,?的是stats包中的loess函数,还可以选择分位数回归quantreg

log:控制是否要对x或y取对数

?如我们现在想绘制汽车对数价格和排量之间的关系, 并且添加loess拟合线以及价格和排量的箱线图,就可以利?散点图把想要的绘制在

?张图上

scatterplot(价格~排量,

lwd=2,

log=\'y\',

smooth=TRUE,

col=brewer.pal(2,\'Set2\'),

main=\'添加loess拟合线的散点图\'

)

除了散点以外,直线代表的是回归线,虚线是loess平滑线,可以看出价格随着排量整体还是呈现?个上升趋势的,但其实我们可以看出散

点并不是都集中在回归线附近,因此可以考虑改?分位数拟合线的?法。分位数回归是研究变量的分位数关于影响因?的变化,?最常见的

OLS回归则是研究变量均值的所受的影响,具体相关知识还挺丰富的,这?只是做个绘图展?。

scatterplot(价格~排量,

lwd=2,

boxplots=\'xy\',

log=\'y\',

smooth=list(smoother=quantregLine),

col=brewer.pal(2,\'Set2\'),

main=\'添加分位数拟合线的散点图\'

)

#

只画置信椭圆

scatterplot(价格~排量,

lwd=2,

boxplots=FALSE,

log=\'y\',

smooth=FALSE,

regLine=FALSE,

ellipse=TRUE,

col=brewer.pal(2,\'Set2\'),

main=\'添加置信椭圆的散点图\'

)

还可以按性能分组绘制价格关于排量的散点图

scatterplot(价格~排量|性能,

lwd=2,

boxplots=FALSE,

log=\'y\',

col=brewer.pal(2,\'Set2\')[c(2:1)],

main=\'分组散点图\'

)

可以看出?动挡的排量和价格都相对集中在较低分段,?动挡汽车占?多数,这样的散点图传递的信息就?较丰富,如果我们现在想要所有

数值型变量两两之间的散点图,那么我们可以考虑?散点图矩阵来呈现,函数为,基本参数与基本?致,利?iris

scatterplotMatrixscatterplot

鸢尾花数据集创建四个变量两两之间的散点矩阵,并且按不同的种类? 不同的颜?表?

#iris

利?数据集创建分组散点图矩阵

scatterplotMatrix(~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width|Species,

data=iris,

col=brewer.pal(3,\'Set2\'))

散点图矩阵是?个对称的矩阵,所以我们只观察?半的图形即可。第m?的对?线是第m个变量的分布,上有变量名称,?m?n列是第m

个变量和第n个变量之间的散点图。可以看到三种不同的鸢尾花花萼花瓣长度宽度都有显著差异,?如对于最右下?的的分布,

蓝?代表的花宽度分布相对较宽,?绿?代表的花就相对较窄。?两两之间的散点也可以看出?致上所有变量之间都是有?定的正相关性,

也可以具体地再去观察所有散点图进?解读。

4. 相关图

相关系数矩阵是描述数值型变量之间相关性的?法。摘录?些R语?实战的?字

哪些被考察的变量与其他变量相关性很强,?哪些并不强?相关变量是否以某种特定的?式聚集在?起?随着变量数的增加,这类问

题将变得更难回答。

相关图作为?种相对现代的?法,可通过对相关系数矩阵的可视化来回答这些问题。相关图?常容易看懂。

我们可以?包的函数?来绘制相关图

corrgramcorrgram()

corrgram(x, type = NULL, order = FALSE, labels, panel = panel.shade,

lower.panel = panel, upper.panel = panel, diag.panel = NULL,

text.panel = textPanel, label.pos = c(0.5, 0.5), label.srt = 0,

cex.labels = NULL, font.labels = 1, row1attop = TRUE, dir = \"\",

gap = 0, abs = FALSE, col.regions = colorRampPalette(c(\"red\", \"salmon\",

\"white\", \"royalblue\", \"navy\")), cor.method = \"pearson\",

outer.labels = NULL, ...)

order:默认FALSE,TRUE表?相关矩阵将?主成分法对变量进?重新排列,是?种很不错的重排列?法

:控制左下三?格?的形式,可以是饼图可以是矩形等

:控制右上三?格?的形式

:控制对?线格?的形式

:控制计算相关系数的?法,默认?尔森相关系数

s:控制颜?

因为相关图需要计算相关系数,故?只能对数值型变量进?操作,对于定性变量多的数据集,呈现的信息就不是很完整。所以需要选择数值

型变量多的数据集,下?我们也?mtcars 数据框中的变量相关性为例,它含有11个变量,对每个变量都测量了32辆汽车。先展?相关系

数矩阵的?部分:

cor(mtcars)

mpg cyl disp hp drat wt qsec vs am

mpg 1.0000000 -0.8521620 -0.8475514 -0.7761684 0.68117191 -0.8676594 0.41868403 0.6640389 0.59983243

cyl -0.8521620 1.0000000 0.9020329 0.8324475 -0.69993811 0.7824958 -0.59124207 -0.8108118 -0.52260705

disp -0.8475514 0.9020329 1.0000000 0.7909486 -0.71021393 0.8879799 -0.43369788 -0.7104159 -0.59122704

hp -0.7761684 0.8324475 0.7909486 1.0000000 -0.44875912 0.6587479 -0.70822339 -0.7230967 -0.24320426

drat 0.6811719 -0.6999381 -0.7102139 -0.4487591 1.00000000 -0.7124406 0.09120476 0.4402785 0.71271113

wt -0.8676594 0.7824958 0.8879799 0.6587479 -0.71244065 1.0000000 -0.17471588 -0.5549157 -0.69249526

qsec 0.4186840 -0.5912421 -0.4336979 -0.7082234 0.09120476 -0.1747159 1.00000000 0.7445354 -0.22986086

vs 0.6640389 -0.8108118 -0.7104159 -0.7230967 0.44027846 -0.5549157 0.74453544 1.0000000 0.16834512

am 0.5998324 -0.5226070 -0.5912270 -0.2432043 0.71271113 -0.6924953 -0.22986086 0.1683451 1.00000000

gear 0.4802848 -0.4926866 -0.5555692 -0.1257043 0.69961013 -0.5832870 -0.21268223 0.2060233 0.79405876

carb -0.5509251 0.5269883 0.3949769 0.7498125 -0.09078980 0.4276059 -0.65624923 -0.5696071 0.05753435

可以看出相关系数矩阵数值?常多,并且对于这些0-1之间的数字,很多时候我们难以区分到底哪些?较?,信息?分庞杂,这时候?张可

视化的相关图就可以很清晰地对相关性进?展?

library(corrgram)

corrgram(mtcars,

order=TRUE,

#

设置了上半边为饼图的形式

upper.panel = panel.pie,

main=\'corrgram of varibales\'

)

我们先从下三?单元格(在主对?线下?的单元格)开始解释这幅图形。蓝?和从左下指向右上的斜杠表?单元格中的两个变量呈正相关;

反过来,红?和从左上指向右的斜杠表?变量呈负相关。颜?越深,饱和度越?,说明变量相关性越?。从图中含阴影的单元格中可以看

到, gear 、 am 、 drat 和 mpg 相互间呈正相关, wt 、 disp 、hp 和 carb 相互间也呈正相关。但第?组变量和第?组变量呈负相关。

五菱宏光miniev敞篷-f35战斗机


更多推荐

汽车品牌价格大全