关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
经管之家新媒体交易平台
提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】
期刊
- 期刊库 | 马上cssci就要更新 ...
- 期刊库 | 【独家发布】《财 ...
- 期刊库 | 【独家发布】“我 ...
- 期刊库 | 【独家发布】“我 ...
- 期刊库 | 【独家发布】国家 ...
- 期刊库 | 请问Management S ...
- 期刊库 | 英文期刊库
- 核心期刊 | 歧路彷徨:核心期 ...
TOP热门关键词
坛友互助群![]() |
扫码加入各岗位、行业、专业交流群![]() |
由于字数限制 上半部分
传送:https://bbs.pinggu.org/thread-3687466-1-1.html
主对角线的核密度曲线改成了直方图,并且直方图是以各车的气缸数为条件绘制的。图形包含主对角线中的直方图以及其他部分的线性和平滑拟合曲线。另外,子群(根据气缸数)通过符号类型和颜色来区分标注默认地,回归直线拟合整个样本,包含选项by.groups = TRUE将可依据各子集分别生成拟
合曲线。
gclus包中的cpairs()函数提供了一个有趣的散点图矩阵变种。它含有可以重排矩阵中变
量位置的选项,可以让相关性更高的变量更靠近主对角线。该函数还能对各单元格进行颜色编码
来展示变量间的相关性大小。首先考察相关性:
>cor(mtcars[c("mpg","wt","disp","drat")])
mpg wt disp drat
mpg 1.0000000 -0.8676594-0.84755140.6811719
wt -0.86765941.0000000 0.8879799 -0.7124406
disp -0.84755140.88797991.0000000 -0.7102139
drat0.6811719 -0.7124406-0.71021391.0000000
gclus包生成的散点图矩阵
> library(gclus)
> mydata<-mtcars[c(1,3,5,6)]
> mydata.corr<-abs(cor(mydata))#相关系数的绝对值
> mycolors<-dmat.color(mydata.corr)#获取绘图的颜色
> myorder<-order.single(mydata.corr)#重排对象,可使得相似的对象更为靠近
> cpairs(mydata,
+ myorder,
+ panel.colors=mycolors,
+ gap=.5,
+ main="variablesordered and colored by correlation"
+ )
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibmPPbXnOtatibyiaBgT0r2CGwnEDic10OcLPcKdQ44d9PR5KXAINMXO94A/0?wx_fmt=png
散点图矩阵将根据新的变量顺序(myorder)和颜色列表(mycolors)绘图、上色,gap选项
使矩阵各单元格间的间距稍微增大一点。相关性最高的变量对是车重与排量,以及每加仑英里数与车重(标了红色,并且离主对角线最近)
11.1.2 高密度散点图
当数据点重叠很严重时,用散点图来观察变量关系就显得“力不从心”了。
> set.seed(1234)
> n<-10000
> c1<-matrix(rnorm(n,mean=0,sd=.5),ncol=2)
> c2<-matrix(rnorm(n,mean=3,sd=2),ncol=2)
> mydata<-rbind(c1,c2)
> mydata<-as.data.frame(mydata)
> names(mydata)<-c("x","y")
> with(mydata,
+ plot(x,y,pch=19,main="scatter plot with 10000 observations"))
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtib7ylMzfGmVdUoyAnC9Gf9J2gcc4yw9hTgPC5BcxbZsaf3OjSZeTocLw/0?wx_fmt=png
smoothScatter()函数可利用核密度估计生成用颜色密度来表示点分布的散点图,利用光平滑密度估计绘制的散点图。此处密度易读性更强:
> with(mydata,
+ smoothScatter(x,y,main="scatter plot with 10000observations"))
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibak1kTkHgQk2gdSOBI9cTfg9kt5zxvRt2IKSVOhpaI9pxicmXG5zLqVg/0?wx_fmt=png
hexbin包中的hexbin()函数将二元变量的封箱放到六边形单元格中(图形比名称更直观)
> library(hexbin)
> with(mydata,{
+ bin<-hexbin(x,y,xbins=50)
+ plot(bin,main="hexagonalbinning with \n 10000 boservations")
+ })
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibDplT2svTN29lCqzMBnxoFxnSAUQEVE9ElEB06Ej6RqsYKEID41I0Lg/0?wx_fmt=png
IDPmisc包中的iplot()函数也可通过颜色来展示点的密度(在某特定点上数据点的
数目)
> library(IDPmisc)
> with(mydata,{
+ iplot(x,y,main="imagescatter plot with\n color indicating density")
+ })
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibico3JEhgjLOSD9lz0gXjiaIKwIIxIXBRRbIBHful0YHic82ibahKezVAMw/0?wx_fmt=png
11.1.3 三维散点图
假使你对汽车英里数、车重和排量间的关系感兴趣,可用scatterplot3d中的
scatterplot3d()函数来绘制它们的关系。Scatterplot3d(x,y,z) x被绘制在水平轴上,y被绘制在竖直轴上,z被绘制在透视轴上。
> library(scatterplot3d)
> attach(mtcars)
> scatterplot3d(wt,disp,mpg,main="basic 3d scatter plot")
注:如出现Error in plot.new() : figure margins too large 重启Rstudio即可
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibtudRkGVqRIAaCpjYJribIiaP3DL4ibAs11axjEj30MKSDZsKLo9tkupibQ/0?wx_fmt=png
satterplot3d()函数提供了许多选项,包括设置图形符号、轴、颜色、线条、网格线、突
出显示和角度等功能
> scatterplot3d(wt,disp,mpg,
+ pch=16,
+ highlight.3d=TRUE,
+ type="h",
+ main="3dscatter plot with vertical lines")
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibkru0IXlwicrFeSrjA8RcSI5T6tu0K4Q15WlcvXSWfFTQTXX5CYXVPCg/0?wx_fmt=png
添加一个回归面
> s3d<-scatterplot3d(wt,disp,mpg,
+ pch=16,
+ highlight.3d=TRUE,
+ type="h",
+ main="3dscatter plot with vertical lines")
> fit<-lm(mpg~wt+disp)
> s3d$plane3d(fit)
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibBcCLsnjUqsKb606DEhJZFjs6yVic67iau91eTkrpfCxcDqkugo06ia9Rw/0?wx_fmt=png
旋转三维散点图
用rgl包中的plot3d()函数创建可交互的三维散点图。你能通过鼠标对图形进
行旋转。函数格式为:plot3d(x,y,z)
其中x、y和z是数值型向量,代表着各个点。你还可以添加如col和size这类的选项来分别控制
点的颜色和大小。
> library(rgl)
> attach(mtcars)
> plot3d(wt,disp,mpg,col="red",size=5)
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibU51VGV9k3lwEu3BibLJIayhKLfgcTjSwT5KE1CIxic2RAflBl3TPWXIg/0?wx_fmt=png
也可以使用Rcmdr包中类似的函数scatter3d():
> library(Rcmdr)
> attach(mtcars)
> scatter3d(wt,disp,mpg)
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibbQUQkB05krEhD2Z2YFl0cFJGEZmicJqibhhickAWdru2c13ZhV7UTXFgg/0?wx_fmt=png
scatter3d()函数可包含各种回归曲面,比如线性、二次、平滑和附加等类型。图形默认添
加线性平面。另外,函数中还有可用于交互式识别点的选项。
11.1.4 气泡图
三维散点图来展示三个定量变量间的关系。现在介绍另外一种思路:先创建一个二维散点图,然后用点的大小来代表第三个变量的值。这便是气泡图(bubble plot)。
你可用symbols()函数来创建气泡图。该函数可以在指定的(x, y)坐标上绘制圆圈图、方形
图、星形图、温度计图和箱线图。以绘制圆圈图为例:
Symbols(x,y,circle=radius)
其中x、y和radius是需要设定的向量,分别表示x、y坐标和圆圈半径。
用面积而不是半径来表示第三个变量,那么按照圆圈半径的公式(r = A / π )变
换即可:Symbols(x,y,circle=sqrt(z/pi))z即第三个要绘制的变量。
> attach(mtcars)
> r<-sqrt(disp/pi)
> symbols(wt,mpg,circle=r,inches=.3,#比例因子,控制着圆圈大小(默认最大圆圈为1英寸)
+ fg="white",bg="lightblue",
+ main="bubble plotwith point size\n proportional to displacement",
+ ylab="miles pergallon",
+ xlab="weight of car(lbs/1000")
> text(wt,mpg,rownames(mtcars),cex=.6)#可选函数,此处用来添加各个汽车的名称
> detach(mtcars)
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9pdA6W9ynicvKSU9iaFNibIUtibyHpt0GZalkia2Ffx4kicwfzV5OwTaMfHcGtZ0Eo2ph0LmjQtuPlicCZEg/0?wx_fmt=png
求关注 求扩散亲朋好友
http://mmbiz.qpic.cn/mmbiz/njjfaJS7c9odGJUicIU0zRXGQnRsynWicZjkx4eBJS0blhJQuSOYr4OQDNZH8lpoOhsNVbw0YtCdEARUs7LEOoTA/0?wx_fmt=jpeg
![](https://bbs-cdn.datacourse.cn/2020/assoQRcodeNew2022.png)
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
![](static/2016/reg/jgewm.png)
您可能感兴趣的文章
本站推荐的文章
人气文章
本文标题:R in action读书笔记(14)第十一章 中级绘图 之一:散点图(高能预警)下
本文链接网址:https://bbs.pinggu.org/jg/kaoyankaobo_kaoyan_3687472_1.html
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。