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基础都没有 ...
随机推荐
- php isset()与empty()详解
bool isset(mixed var);[;mixed var[,...]] 这个函数需要一个变量名称作为参数,如果这个变量存在,则返回true,否则返回false. 也可以传递一个由逗号间隔的变 ...
- PHP curl 封装 GET及POST方法很不错的
<?php function curl_get($url, array $params = array(), $timeout = 5) { $ch = curl_init(); curl_se ...
- 【Luogu】P2057善意的投票(最小割转最大流)
题目链接 也算水题一道吧,不过Round1感性理解一下就xjb建了个图,40 Round2仔细分析了一会,理性建了个图,90 然后分析了半天……改大数组就A了…… 从S到所有值为1的点连一条inf的边 ...
- 面试题之redis的过期时间原理
1.消极方法:每次访问key时判断key是否已经过期: 2.积极方法:周期性的从设置了过期时间的key中选择一部分的key进行删除 a.随机测试20个带有timeout信息的key b.如果超过25% ...
- BZOJ 2501: [usaco2010 Oct]Soda Machine 离散+差分
[usaco2010 Oct]Soda Machine Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 266 Solved: 182[Submit][ ...
- Xode 8 的那些坑
刚发布完Xcode的8.0果断更新了,发现用起来非常容易闪退,关键是我编辑项目时默认使用Xcode8打开,导致我用Xcode7打开Xib是报错: This version does not suppo ...
- 同余方程(codevs 1200)
题目描述 Description 求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入描述 Input Description 输入只有一行,包含两个正整数 a, b,用 一个 空 ...
- TroubleShoot: Excel Services Fix - "The workbook cannot be opened".
1. 问题描述: 在SharePoint 2013 文档库中打开Excel 文件提示"The workbook cannot be opened" 错误提示框,文档不能正常显示. ...
- 【NOIP2016】换教室(DP,期望)
题意: 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 i ( 1≤ i≤n)个时同段上, 两节内容相同的课程 ...
- android 笔记(Service)
Service 一.Serivce的启动方式分两种 1.startService.用这种方式启动的话,负责启动这个service的Activity或者其他组件即使被销毁了,Service也会继续在后台 ...