R语言数据分析系列之五
R语言数据分析系列之五
本节来讨论一下R语言的基本图形展示,先来看一张效果图吧。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29tYXBsZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这是一张用R语言生成的,虚拟的wordcloud云图,详细实现细节请參见我的github项目:https://github.com/comaple/R-wordcloud.git
好了我们開始今天的旅程吧:
本节用到的包有:RColorBrewer用来生成序列颜色值, plotrix三维图形
本节用到的数据集:vcd包中的Arthritis数据集
数据集
install.packages("vcd")
library('vcd')
install.packages(plotrix) #将图形包也一并安装了
library(plotrix)
data(package='vcd') # 查看vcd包得所有数据集
class(Arthritis) # 查看数据集类型
names(Arthritis) # 查看列名
arth <- Arthritis # 复制一份
arth[1:10,] #查看前10行数据
柱状图
#该数据集最后一列Improved为因子型数据。
table(arth$Improved) #查看因子水平的count值
col <- c(brewer.pal(9,'YlOrRd')[1:9]) #设置颜色序列
barplot(table(arth$Improved),col=col,xlab='improved',ylab='count',main='StatisticsOf Improved') #绘制柱状图
barplot(table(arth$Improved),col=col,horiz=T,xlab='count',ylab='improved',main='StatisticsOf Improved') #水平柱状图
barplot(counts,col=col,legend=rownames(counts),width=0.1) #堆砌条形图
barplot(counts,col=col[1:3],legend=rownames(counts),width=0.1,beside=T)#分组条形图
饼图
par(mfrow=c(1,2)) # 定义横向画布,两格布局
label <- c('壮年','中年','长辈','老年')
ages <- cut(arth$Age,breaks=c(20,30,50,70,100),labels=label)#将年龄数据离散化
pie(table(ages),family='STKaiti') # 画出饼图 pie(table(ages),labels=paste(levels(ages),':',round(table(ages)/sum(table(ages))*100,2),'%'),family='STKaiti',main='关节炎发病率年龄段占比')
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29tYXBsZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
pie3D(table(ages),labels= paste(round(table(ages)/sum(table(ages))*100,2),'%'),family='STKaiti',main='关节炎发病率年龄段占比',explode=0.1)# 3D 饼图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29tYXBsZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
直方图
我们採用mtcars数据集来进行图形绘制:
h <- hist(mtcars$mpg,breaks=12,col=col,freq=F,xlab='MilesPer Gallon',main='Histogram Of Car Gallon,Density curve') # 绘制直方图 lines(density(mtcars$mpg),col='blue',lwd=2)#加入核密度图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29tYXBsZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
假设要单独绘制和密度图的话能够这样:
plot(density(mtcars$mpg),main='DensityOf Car Gallon')
图中我们能够看到,我们得核密度函数採用的高斯核,方差为2.477。样本採样为32个。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29tYXBsZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
箱型图
箱线图。通过绘制连续型变量的五数总括,即最小值(相应图中最以下那条线)、下四分位数(相应第二条线)、中位数(相应最中间那条线)、上四分位数(相应箱子上边沿) 以及最大值(相应最上面那条线),描写叙述了连续型变量的分布。
而且能够将离群点列出。
比如我们还拿mtcars数据集,当中mpg是每百公里油耗。cyl是发动机汽缸数。要对照不同得汽缸数对每加仑汽油行驶的公里数的影响就能够这样作图:
boxplot(mpg ~ cyl,data=mtcars,main='Car Milage Data',xlab='Number Of Cylinder',ylab='Miles Per Gallon')
从图中我们能够明显看到。4缸发动机有效利用率最高。6缸的最稳定,8缸利用率低且不够稳定。
R语言数据分析系列之五的更多相关文章
- R语言数据分析系列六
R语言数据分析系列六 -- by comaple.zhang 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候怎样下手分析,数据分析的第一步.探索性数据分析. 统计量,即统计学里面关注的数据集 ...
- R语言数据分析系列之四
R语言数据分析系列之四 -- by comaple.zhang 说到统计分析我们就离不开随机变量,所谓随机变量就是数学家们为了更好的拟合现实世界的数据而建立的数学模型.有了她我们甚至能够来预測一个站点 ...
- R语言数据分析利器data.table包—数据框结构处理精讲
R语言数据分析利器data.table包-数据框结构处理精讲 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代 ...
- R学习:《R语言数据分析与挖掘实战》PDF代码
分三个部分:基础篇.实战篇.提高篇.基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例实践获得数据挖掘项目经验,同时快速领悟看似难懂的数据 ...
- R语言数据分析
CSDN博客:包括R语言基础.R语言数据挖掘.hadoop大数据及spark等 http://blog.csdn.net/qq_16365849 R语言及数据分析 http://blog.csdn.n ...
- R语言数据分析利器data.table包 —— 数据框结构处理精讲
R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理 ...
- 中部:执具 | R语言数据分析(北京邮电大学)自整理笔记
第5章工欲善其事.必先利其器 代码,是延伸我们思想最好的工具. 第6章基础编程--用别人的包和函数讲述自己的故事 6.1编程环境 1.R语言的三段论 大前提:计算机语言程序=算法+数据结构 小前提:R ...
- 上部:问道 | R语言数据分析(北京邮电大学)自整理笔记
第1章 气象万千 数以等观 数据分析:发现数据背后的规律 等号的重要性,建立模型 第2章所谓学习.归类而已 2.1所谓学习,归类而已(1) ps:机器学习只是归归类? 有监督学习--分类:无监督学习- ...
- R语言入门系列1--数学狗还是做数据好了
nanana,作为一个不合格的数学专业学生,脑袋不好使,又穷逼,只好学点儿实用的东西,希望能养活自己~~~ 不瞎哔哔,想做数据方面工作的时候在犹豫是学R还是学python,一点儿python基础都没有 ...
随机推荐
- 【Bzoj3944】杜教筛模板(狄利克雷卷积搞杜教筛)
题目链接 哇杜教筛超炫的 有没有见过$O(n^\frac{2}{3})$求欧拉函数前缀和的算法?没有吧?蛤蛤蛤 首先我们来看狄利克雷卷积是什么 首先我们把定义域是整数,陪域是复数的函数叫做数论函数. ...
- JS实现并集,交集和差集
var set1 = new Set([1,2,3]);var set2 = new Set([2,3,4]); 并集let union = new Set([...set1, ...set2]); ...
- OSU!(bzoj 4318)
Description osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...
- *NOI热身赛C. 小x的城池
码农题gun.
- WPF,布局,Menu,MenuItem,DockPanel,Grid,DockPanel.Dock='',ToolBar,Content,Image,Uri
布局相关: Grid as title Binding Path="", Mode= TwoWay, model should implement IPropertyChanged ...
- Promise简单实现--摘抄
Promise 看了些promise的介绍,还是感觉不够深入,这个在解决异步问题上是一个很好的解决方案,所以详细看一下,顺便按照自己的思路实现一个简单的Promise. Promise/A+规范: 首 ...
- “百度杯”CTF比赛 十月场_Login
题目在i春秋ctf大本营 打开页面是两个登录框,首先判断是不是注入 尝试了各种语句后,发现登录界面似乎并不存在注入 查看网页源代码,给出了一个账号 用帐密登陆后,跳转到到member.php网页,网页 ...
- TinyXML2使用教程(转)
原文转自 http://blog.csdn.net/K346K346/article/details/48750417 1.TinyXML2概述 TinyXML2是simple.small.effic ...
- 转 Centos下安装apahce的configure: error: APR not found. Please read the documentation解决办法
转自: http://www.cnblogs.com/Anker/p/3355573.html 今天从Apache官网上http://httpd.apache.org/下载httpd web服务器,由 ...
- 机器人程序设计——之如何正确入门ROS | 硬创公开课(附视频/PPT)【转】
转自:http://blog.exbot.net/archives/2966 导语:本期公开课面向想入手ROS却又不知从何下手的小伙伴,为大家梳理好学习思路. ROS和Android一样是开源的,功能 ...