R in action读书笔记(4)-第六章:基本图形(下)
6.3直方图
hist()
其中的x是一个由数据值组成的数值向量。参数freq=FALSE表示根据概率密度而不是频数绘制图形。参数breaks用于控制组的数量。在定义直方图中的单元时,默认将生成等距切分。
par(mfrow=c(2,2))
hist(mtcars$mpg)#简单直方图
hist(mtcars$mpg#指定组数和颜色
breaks=12,
col="red",
xlab="Miles Per Gallon",
main="Colored histogram wi七h 12 bins”
hist(mtcars$mpg#添加轴须图
freq=FALSE,
breaks=12,
col=”red",
xlab="Miles Per Gallon",
main="His七ogram, rug plo七,densi七y curve"
rug(jitter(mtcars$mpg))
lines(density(mtcars字mpg),col="blue",lwd=2)
x<一mtcars$mpg#添加正态密度曲线和外框
h<-hist(x,
breaks=12,
col=”red",
xlab="Mfiles Per Gallon"
main="Histogramwith normal curve and box"
xfit<一seq(min(x),max(x),length=40)
yfit<-dnorm(xfit, mean=mean(x),sd=sd(x))
yfit<一yfit*diff(h$mids[1:2])*length(x)
lines(xfit, yfit, col="blue",lwd=2)
box()
6.4核密度图
核密度估计是用于估计随机变量概率密度函数的一种非参数方法。绘制密度图的方法(不叠加到另一幅图上方)为: plot(density(x)) 其中的x是一个数值型向量。
par(mfrow=c(2,1))
d<一density(mtcars$mpg)
plot(d)
d<一density(mtcars$mpg)
plot(d, main=”Kernel Density of Miles Per Gallon"
polygon(d, col=”red",border="blue”)# polygon()函数根据顶点的x和y坐标(本例中由density()函数提供)绘制了多边形。
rug(mtcars$mpg, col=”brown”)
使用sm包中的sm.density.compare()函数可向图形叠加两组或更多的核密度图。使用格式为:
sm .density .compare(x, factor)
其中的x是一个数值型向量,factor是一个分组变量。
par(lwd=2)# 双倍线条宽度
library(sm)
attach(mtcars)
cyl.f<-factor(cyl,levels=c(4,6,8),labels=c("4 cylinder","6 cylinder","8 cylinder"))#创建分组因子
sm .density .compare(mpg, cyl,xlab=”Miles Per Gallon”)# 绘制密度图
title(main="MPG Distribution by Car Cylinders”)
colfill<-c(2:(1+length(levels(cyl.f)))) #通过鼠标单击添加图例
legend(locator(1),levels(cyl .f),fill=colfill)
detach(mtcars)
6.5箱线图
箱线图(又称盒须图)通过绘制连续型变量的五数总括,即最小值、下四分位数(第25百分
位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量
的分布。箱线图能够显示出可能为离群点(范围±1.5*IQR以外的值,IQR表示四分位距,即上
四分位数与下四分位数的差值)的观测。例如:
boxplot(mtcars$mpg,main=”box plot”,ylab=”miles per gallon”)
6.5.1使用并列箱线图进行跨组比较
箱线图可以展示单个变量或分组变量。使用格式为:
boxplot(formula,data=data framel)
其中的formula是一个公式,dataframe代表提供数据的数据框(或列表)。一个示例公式为y ~
A,这将为类别型变量A的每个值并列地生成数值型变量y的箱线图。公式y ~ A*B则将为类别型
变量A和B所有水平的两两组合生成数值型变量y的箱线图。添加参数varwidth=TRUE 将使箱线图的宽度与其样本大小的平方根成正比。参数horizontal=TRUE可以反转坐标轴的方向。
boxplot(mpg~cyl,data=mtcars,main="Car mileage data",xlab="number of cylinders",ylab="miles per gallon")
箱线图灵活多变,通过添加notch=TRUE,可以得到含凹槽的箱线图。若两个箱的凹槽互不
重叠,则表明它们的中位数有显著差异
boxplot(mpg~cyl,data=mtcars,notch=TRUE,varwidth=TRUE,col="red",main="Car Mileage Data",xlab="Number of Cylinders",ylab="Miles Per Gallon")
两个交叉因子的箱线图:
mtcars$cyl.f<-factor(mtcars$cyl,levels=c(4,6,8),labels=c("4","6","8"))#创建汽缸数量的因子
mtcars$am.f<-factor(mtcars$am,levels=c(0,1),labels=c("auto","standard"))#创建变速箱类型的因子
boxplot(mpg~am.f*cyl.f,data=mtcars,varwidth=TRUE,col=c("gold","darkgreen"),main="MPG Distribution by Auto Type",xlab="Auto Type")#生成箱线图
6.5.2小提琴图
小提琴图是箱线图与核密度图的结合。你可以使用vioplot包中的vioplot()函数绘制它。
>x1<-mtcars$mpg[mtcars$cyl==4]
> x2<-mtcars$mpg[mtcars$cyl==6]
> x3<-mtcars$mpg[mtcars$cyl==8]
> vioplot(x1,x2,x3,names=c("4 cyl","6 cyl","8 cly"),col="gold")
> title("violin plots of miles per gallon")
6.6点图
点图提供了一种在简单水平刻度上绘制大量有标签值的方法。你可以使用dotchart()函数创建点图,格式为:dotchart(x,labels=)其中的x是一个数值向量,而labels则是由每个点的标签组成的向量。你可以通过添加参数groups来选定一个因子,用以指定x中元素的分组方式。如果这样做,则参数gcolor可以控制不同组标签的颜色,cex可控制标签的大小。
dotchart(mtcars$mpg,labels=row.names(mtcars),cex=0.7,main="gas mileage for car nolels",xlab="miles per gallon")
分组、排序、着色后的点图
> x<-mtcars[order(mtcars$mpg),]
> x$cyl<-factor(x$cyl)
> x$color[x$cyl==4]<-"red"
> x$color[x$cyl==6]<-"blue"
> x$color[x$cyl==8]<-"darkgreen"
>dotchart(x$mpg,labels=row.names(x),cex=.7,groups=x$cyl,gcolor="black",color=x$color,pch=19,main="gas fo car models\ngrouped by cylinder",xlab="miles per gallon")
R in action读书笔记(4)-第六章:基本图形(下)的更多相关文章
- R in action读书笔记(3)-第六章:基本图形
第六章 基本图形 6.1条形图 条形图通过垂直的或水平的条形展示了类别型变量的分布(频数).函数:barplot(height) 6.1.1简单的条形图 6.1.2推砌条形图和分组条形图 如果hei ...
- Android群英传》读书笔记 (3) 第六章 Android绘图机制与处理技巧 + 第七章 Android动画机制与使用技巧
第六章 Android绘图机制与处理技巧 1.屏幕尺寸信息屏幕大小:屏幕对角线长度,单位“寸”:分辨率:手机屏幕像素点个数,例如720x1280分辨率:PPI(Pixels Per Inch):即DP ...
- 《深入理解java虚拟机》读书笔记五——第六章
第六章 类文件结构 1.无关性的基石 各种不同平台的虚拟机与所有平台都统一使用程序存储格式——字节码是构成平台无关的基石. 实现语言无关性的基础仍然是虚拟机和字节码存储格式,Java虚拟机不和包括Ja ...
- R in action读书笔记(22)第十六章 高级图形进阶(下)
16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...
- R in action读书笔记(21)第十六章 高级图形进阶(上)
16.1 R 中的四种图形系统 基础图形函数可自动调用,而grid和lattice函数的调用必须要加载相应的包(如library(lattice)).要调用ggplot2函数需下载并安装该包(inst ...
- R in action读书笔记(19)第十四章 主成分和因子分析
第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因 ...
- R in action读书笔记(14)第十一章 中级绘图 之一:散点图(高能预警)
第十一章中级绘图 本章内容: 二元变量和多元变量关系的可视化 绘制散点图和折线图 理解相关图 学习马赛克图和关联图 本章用到的函数有: plot hexbin ablines iplot scatte ...
- R in action读书笔记(20)第十五章 处理缺失数据的高级方法
处理缺失数据的高级方法 15.1 处理缺失值的步骤 一个完整的处理方法通常包含以下几个步骤: (1) 识别缺失数据: (2) 检查导致数据缺失的原因: (3) 删除包含缺失值的实例或用合理的数值代替( ...
- R in action读书笔记(17)第十二章 重抽样与自助法
12.4 置换检验点评 除coin和lmPerm包外,R还提供了其他可做置换检验的包.perm包能实现coin包中的部分功能,因此可作为coin包所得结果的验证.corrperm包提供了有重复测量的相 ...
随机推荐
- 2016/4/5 Ajax ①用户名 密码 登陆 注册 ② 判断用户名是否已存在 ③点击按钮出现民族选项下拉菜单 ④DBDA类 加入Ajaxquery方法 数组变字符串 字符串拆分
①登陆 注册 查表匹配 0405Ajax.php ②判断用户名是否存在 <!DOCTYPE html> <html lang="en"> ...
- Delphi中accesss实现树形结构查询系统(一次性生成比较方便)
主要是要读取数据库的信息,而delphi界面是一个树形结构. 例如有一个Ascess数据库:示例.MDB,内有一张表:“国家”,表的内容如下: 编号 名称 01 ...
- Java正则表达式的用法
/** * 校验时间格式,正确则返回true * @param xxx * @return */ private static boolean checkDateFormat (String xxx) ...
- Mac Launchpad图标调整
Launchpad图标大小怎么调整?,很多人觉得默认Launchpad的应用程序图标很大,空间比较拥挤,看起来一点也不精致,那么我们怎样才能调整Launchpad的图标大小呢?其实可以通过调整Laun ...
- POJ1417 True Liars —— 并查集 + DP
题目链接:http://poj.org/problem?id=1417 True Liars Time Limit: 1000MS Memory Limit: 10000K Total Submi ...
- vmware中鼠标在部分区域不能使用
https://blog.csdn.net/dreamengsoul/article/details/80439278 方法1:重装VMware tools; 方法2:使用增强型键盘鼠标: 方法3:检 ...
- inexact rename detection was skipped due to too many files
https://stackoverflow.com/a/28064699 error: add_cacheinfo failed to refresh for path 'LISA.Kentico.U ...
- BZOJ4561:圆的异或并(扫描线+set||splay||线段树)
在平面直角坐标系中给定N个圆.已知这些圆两两没有交点,即两圆的关系只存在相离和包含.求这些圆的异或面 积并.异或面积并为:当一片区域在奇数个圆内则计算其面积,当一片区域在偶数个圆内则不考虑. I ...
- Spring配置事务的五种方式
Java事务的类型有三种: JDBC事务. 可以将多个 SQL 语句结合到一个事务中.JDBC 事务的一个缺点是事务的范围局限于一个数据库连接.一个 JDBC 事务不能跨越多个数据库 JTA(Java ...
- Linux中的工作队列
工作队列(work queue)是Linux kernel中将工作推后执行的一种机制.这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于 ...