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语言数据分析系列之五的更多相关文章

  1. R语言数据分析系列六

    R语言数据分析系列六 -- by comaple.zhang 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候怎样下手分析,数据分析的第一步.探索性数据分析. 统计量,即统计学里面关注的数据集 ...

  2. R语言数据分析系列之四

    R语言数据分析系列之四 -- by comaple.zhang 说到统计分析我们就离不开随机变量,所谓随机变量就是数学家们为了更好的拟合现实世界的数据而建立的数学模型.有了她我们甚至能够来预測一个站点 ...

  3. R语言数据分析利器data.table包—数据框结构处理精讲

    R语言数据分析利器data.table包-数据框结构处理精讲 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代 ...

  4. R学习:《R语言数据分析与挖掘实战》PDF代码

    分三个部分:基础篇.实战篇.提高篇.基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例实践获得数据挖掘项目经验,同时快速领悟看似难懂的数据 ...

  5. R语言数据分析

    CSDN博客:包括R语言基础.R语言数据挖掘.hadoop大数据及spark等 http://blog.csdn.net/qq_16365849 R语言及数据分析 http://blog.csdn.n ...

  6. R语言数据分析利器data.table包 —— 数据框结构处理精讲

        R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理 ...

  7. 中部:执具 | R语言数据分析(北京邮电大学)自整理笔记

    第5章工欲善其事.必先利其器 代码,是延伸我们思想最好的工具. 第6章基础编程--用别人的包和函数讲述自己的故事 6.1编程环境 1.R语言的三段论 大前提:计算机语言程序=算法+数据结构 小前提:R ...

  8. 上部:问道 | R语言数据分析(北京邮电大学)自整理笔记

    第1章 气象万千 数以等观 数据分析:发现数据背后的规律 等号的重要性,建立模型 第2章所谓学习.归类而已 2.1所谓学习,归类而已(1) ps:机器学习只是归归类? 有监督学习--分类:无监督学习- ...

  9. R语言入门系列1--数学狗还是做数据好了

    nanana,作为一个不合格的数学专业学生,脑袋不好使,又穷逼,只好学点儿实用的东西,希望能养活自己~~~ 不瞎哔哔,想做数据方面工作的时候在犹豫是学R还是学python,一点儿python基础都没有 ...

随机推荐

  1. (英文排版测试)Lorem Ipsum

    Lorem Ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis tincidunt consequat pretiu ...

  2. 九度oj 题目1368:二叉树中和为某一值的路径

    题目描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 输入: 每个测试案例包括n+1行: 第一行为2 ...

  3. POJ 2181 Jumping Cows

    Jumping Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6398   Accepted: 3828 Desc ...

  4. 【Luogu】P3768简单的数学题(杜教筛)

    题目链接 emm标题全称应该叫“莫比乌斯反演求出可狄利克雷卷积的公式然后卷积之后搞杜教筛” 然后成功地困扰了我两天qwq 我们从最基本的题意开始,一步步往下推 首先题面给出的公式是$\sum\limi ...

  5. CORS跨域请求总结

    CORS跨域请求分为简单请求和复杂请求. 1. 简单请求: 满足一下两个条件的请求. (1) 请求方法是以下三种方法之一: HEAD GET POST (2)HTTP的头信息不超出以下几种字段: Ac ...

  6. [JLOI2011]飞行路线 (分层图,最短路)

    题目链接 Solution 建立 \(k+1\) 层图跑 \(Dijkstra\) 就好了. Code #include<bits/stdc++.h> #define ll long lo ...

  7. java面试题之如何实现处理线程的返回值?

    有三种实现方式: 主线程等待法: 使用Thread类的join方法阻塞当前线程以等待子线程处理完毕: 通过Callable接口实现,通过FutureTask 或者线程池:

  8. SQL的主键和外键和唯一约束

    SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外 ...

  9. element-ui复合型输入框的显示问题

    按照官方文档那样发现,最左边的选择器里面的字显示不出来,解决方法是在为el-select设置宽度,就可以正常显示了

  10. 【Eclpise】Eclipse中Tomcat启动失败或者是重启失败

    经常在Eclipse中遇到这样的问题,tomcat重启之后失败,而且也停止不了.最好的解决办法就是用DOS命令杀死进程. 比如下面这种情况: 1.查看进程ID  用windows的netstat查看信 ...