在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
R语言可视化完整的数据分析流程1.定义研究问题,定义理想的数据集,确定能够获取什么数据,获取数据,清理数据 2.探索性分析(数据可视化),统计分析/建模(机器学习) 3.解释/交流结果(数据可视化),挑战结果(有没有其他可能),书写报告 数值变量的特征和可视化 数据集中趋势的测量:均值(mean),中位数(median),众数(mode) 数据分散趋势的测量:值域(range),方差(variance),标准差(standard variance),四分位距 (interquartile range) 有关函数:方差 var(x) 标准差sd(x) 稳健统计量(受极端值影响小) 是:中位数,四分位差 否:均值,标准差,值域 箱图 一个数值变量可以用:柱状图,点图 两个数值变量可以用:散点图 分类变量的特征和可视化 一个分类变量的可视化:频率表,条形图 两个分类变量的可视化:关联表,相对频率表,分段条形图,相对频率分段条形图,马赛克图 一个分类变量,一个数值变量:分类箱图 R三大绘图系统
需要事先计划;直观地实时反映绘图和分析数据的逻辑 图+修饰 适用于绘制2D图
一次成图 适用于观测变量间的交互:在变量z的不同水平,变量y如何随变量x变化
数据映射到几何客体(点/线/条)的(颜色/大小/形状) 相当于 基本绘图系统+Lattice绘图系统 自动处理标题/文字说明/空间等 允许通过添加注释进行修改 基本绘图系统绘图函数(graphics包) plot / hist(条形图) / boxplot(箱图) / points / lines / text / title / axis(坐标轴) plot() plot(x,y,...) 重要参数:xlab(坐标轴标签) / ylab / lwd(线宽) / lty(线类型) / pch(点类型) / col(颜色) par() ?par 内容很多 用于设置全局参数 bg(背景颜色) / mar(边距) / las(标签横竖) / mfrow / mfcol(把当前面板分成几行几列,按行/列填充,多个图的意思) title() title(main = "Name") 标题名称 lm() fit <- lm(Temp ~ Wind, airquality) 线性回归线 abline(fit,lwd = 2) 往图里加线,宽度为2 legend("topright", pch = 1, col = c("red","blue","black"),legend = c("Sep","May","Other")) 添加注释 右上角 点类型为1 对应关系 Lattice绘图系统lattice包
grid包
Lattice与Base的重要区别 Base绘图函数直接在图形设备上绘图 Lattice绘图函数返回trellis类对象,打印函数将其打印出来,执行命令时自动打印。 library(lattice) 加载包 xyplot(Temp~Ozone,data=airquality) 看Temp和Ozone之间的关系,airquality是R自带的数据集 airquality$Month <- factor(airquality$Month) 把月份设置成分类变量 xyplot(Temp~Ozone | Month, data=airquality,layout=c(5,1)) 看不同月份下两者的关系 粉色是月份,纵坐标是温度,横坐标是臭氧含量。 panel 例子 panel.abline(v=mean(x),h=mean(y), lty=2) 加线,v是水平线,h是竖直线,线类型为2 panel.lmline(x,y,col="red") 加线性回归线,颜色红色 ggplot2绘图系统(主要使用这个)
qplot() 类似于Base系统的plot(),参数包含aesthetics / geom / facet ... 隐藏了绘图实现的细节 qplot(Wind, Temp, data=airquality, color=Month) 可以自己比对这几种的不同之处 airquality$Month <- factor(airquality$Month) 把月份设置成分类变量 qplot(Wind, Temp, data=airquality, color=Month) 不同月份就变成了不同颜色,之 前是渐变色 qplot(Wind, Temp, data=airquality, color=I("red")) 统一红色 qplot(Wind, Temp, data=airquality, shape=Month) 或者size=Month qplot(Wind, Temp, data=airquality, color=I("red"),xlab="Wind(mph)", ylab="Temperature", main="Wind vs. Temp") 可以给坐标轴加标签,给图加标题 qplot(Wind, Temp, data=airquality, color=Month, geom = c("point","smooth")) 几何客体,smooth是回归分析(图1) qplot(Wind, Temp, data=airquality, facets = .~Month) ~左右可以互换,行和列会互换,面 板中显示多个图,按照月份分开 qplot(Wind, data = airquality) 自动选择柱状图 qplot(y=Wind, data = airquality) 生成散点图,横坐标是按Wind数据 的顺序 qplot(Wind, data = airquality, fill = Month) (图2) qplot(Wind, data = airquality, geom = "density",color=Month) density频率分布的轮廓线(图3) 也可以改成dotplot等 图一 图二 图三 ggplot() 核心,可以实现qplot()无法实现的功能 调用ggplot()本身并不能实现绘图,要在其基础上添加层(如geom_point() )才可以 ggplot(airquality,aes(Wind,Temp)) + 数据层,美学属性层 + geom_point(aes(color=factor(Month)),alpha=0.4,size=5) 几何客体层(颜色以月份分类,透 明度为0.4,大小为5) *图一 ggplot(airquality,aes(Wind,Temp)) + geom_point() + 这一层去掉的话就不显示点 stat_smooth() 回归分析 *图二 ggplot(airquality,aes(Wind,Temp)) + stat_smooth(method="lm",se=FALSE,aes(col=factor(Month))) 线性回归,按月份分开,se是 置信区间(上图阴影区域)*图三 ggplot(airquality,aes(Wind,Temp,col=factor(Month))) + geom_point() + stat_smooth(method="lm",se=FALSE,aes(group=1,col="all")) + 对所有数据做一条回归线 stat_smooth(method="lm",se=FALSE) *图四 library(RColorBrewer) myColors <- c(brewer.pal(5,"Dark2"),"black") 自己来控制颜色 display.brewer.pal(5,"Dark2") 显示某类颜色 display.brewer.all() 显示所有调色板的颜色 ggplot(airquality,aes(Wind,Temp,col=factor(Month))) + geom_point() + stat_smooth(method="lm",se=FALSE,aes(group=1,col="ALL")) + stat_smooth(method="lm",se=FALSE) + scale_color_manual("Month",values = myColors) 这样就能自己控制颜色 *图五 ggplot(airquality,aes(Wind,Temp,col=factor(Month))) + geom_point() + stat_smooth(method="lm",se=FALSE) + facet_grid(.~Month) 面板按月份分开 *图六 + theme_classic() 加这层改变主题 图一 图二 图三 图四 图五 图六 R colorpal <- colorRamp(c("red","blue")) 以红,蓝为端点 pal(0) 0 是红色 pal(1) 1 是蓝色 pal(seq(0,1,len=10)) 从中间等距取10个数,颜色渐变 pal <- colorRampPalette(C("red","yellow")) 以红,黄为端点 pal(1) 取一个颜色,红色 pal(10) 取十个颜色,红到黄渐变 library(RColorBrewer) brewer.pal.info 查看这个调色板的信息 display.brewer.all() 这个可以直接看调色板所有颜色 cols <- brewer.pal(3,"Greens") 从Greens这个组里取3个颜色 pal <- colorRampPalette(cols) 以这3个颜色为端点 image(volcano,col = pal(20)) 取20个渐变颜色,数据集为volcano, 画图像 完整的数据分析流程1.定义研究问题,定义理想的数据集,确定能够获取什么数据,获取数据,清理数据2.探索性分析(数据可视化),统计分析/建模(机器学习)3.解释/交流结果(数据可视化),挑战结果(有没有其他可能),书写报告数值变量的特征和可视化数据集中趋势的测量:均值(mean),中位数(median),众数(mode)数据分散趋势的测量:值域(range),方差(variance),标准差(standard variance),四分位距 (interquartile range)有关函数:方差 var(x) 标准差sd(x)稳健统计量(受极端值影响小)是:中位数,四分位差否:均值,标准差,值域箱图一个数值变量可以用:柱状图,点图两个数值变量可以用:散点图分类变量的特征和可视化一个分类变量的可视化:频率表,条形图两个分类变量的可视化:关联表,相对频率表,分段条形图,相对频率分段条形图,马赛克图一个分类变量,一个数值变量:分类箱图 R三大绘图系统
需要事先计划;直观地实时反映绘图和分析数据的逻辑图+修饰适用于绘制2D图
一次成图适用于观测变量间的交互:在变量z的不同水平,变量y如何随变量x变化
数据映射到几何客体(点/线/条)的(颜色/大小/形状)相当于 基本绘图系统+Lattice绘图系统自动处理标题/文字说明/空间等允许通过添加注释进行修改 基本绘图系统绘图函数(graphics包)plot / hist(条形图) / boxplot(箱图) / points / lines / text / title / axis(坐标轴)plot()plot(x,y,...)重要参数:xlab(坐标轴标签) / ylab / lwd(线宽) / lty(线类型) / pch(点类型) / col(颜色)par()?par 内容很多用于设置全局参数bg(背景颜色) / mar(边距) / las(标签横竖) / mfrow / mfcol(把当前面板分成几行几列,按行/列填充,多个图的意思)title()title(main = "Name") 标题名称lm()fit <- lm(Temp ~ Wind, airquality) 线性回归线abline(fit,lwd = 2) 往图里加线,宽度为2legend("topright", pch = 1, col = c("red","blue","black"),legend = c("Sep","May","Other"))添加注释 右上角 点类型为1 对应关系 Lattice绘图系统lattice包
grid包
Lattice与Base的重要区别Base绘图函数直接在图形设备上绘图Lattice绘图函数返回trellis类对象,打印函数将其打印出来,执行命令时自动打印。 library(lattice) 加载包 xyplot(Temp~Ozone,data=airquality) 看Temp和Ozone之间的关系,airquality是R自带的数据集 airquality$Month <- factor(airquality$Month) 把月份设置成分类变量 xyplot(Temp~Ozone | Month, data=airquality,layout=c(5,1)) 看不同月份下两者的关系 粉色是月份,纵坐标是温度,横坐标是臭氧含量。 panel 例子 panel.abline(v=mean(x),h=mean(y), lty=2) 加线,v是水平线,h是竖直线,线类型为2 panel.lmline(x,y,col="red") 加线性回归线,颜色红色 ggplot2绘图系统(主要使用这个)
qplot()类似于Base系统的plot(),参数包含aesthetics / geom / facet ...隐藏了绘图实现的细节 qplot(Wind, Temp, data=airquality, color=Month) 可以自己比对这几种的不同之处 airquality$Month <- factor(airquality$Month) 把月份设置成分类变量 qplot(Wind, Temp, data=airquality, color=Month) 不同月份就变成了不同颜色,之 前是渐变色 qplot(Wind, Temp, data=airquality, color=I("red")) 统一红色 qplot(Wind, Temp, data=airquality, shape=Month) 或者size=Month qplot(Wind, Temp, data=airquality, color=I("red"),xlab="Wind(mph)", ylab="Temperature", main="Wind vs. Temp") 可以给坐标轴加标签,给图加标题 qplot(Wind, Temp, data=airquality, color=Month, geom = c("point","smooth")) 几何客体,smooth是回归分析(图1) qplot(Wind, Temp, data=airquality, facets = .~Month) ~左右可以互换,行和列会互换,面 板中显示多个图,按照月份分开 qplot(Wind, data = airquality) 自动选择柱状图 qplot(y=Wind, data = airquality) 生成散点图,横坐标是按Wind数据 的顺序 qplot(Wind, data = airquality, fill = Month) (图2) qplot(Wind, data = airquality, geom = "density",color=Month) density频率分布的轮廓线(图3) 也可以改成dotplot等 图一图二图三ggplot()核心,可以实现qplot()无法实现的功能调用ggplot()本身并不能实现绘图,要在其基础上添加层(如geom_point() )才可以 ggplot(airquality,aes(Wind,Temp)) + 数据层,美学属性层 + geom_point(aes(color=factor(Month)),alpha=0.4,size=5) 几何客体层(颜色以月份分类,透 明度为0.4,大小为5) *图一 ggplot(airquality,aes(Wind,Temp)) + geom_point() + 这一层去掉的话就不显示点 stat_smooth() 回归分析 *图二 ggplot(airquality,aes(Wind,Temp)) + stat_smooth(method="lm",se=FALSE,aes(col=factor(Month))) 线性回归,按月份分开,se是 置信区间(上图阴影区域)*图三 ggplot(airquality,aes(Wind,Temp,col=factor(Month))) + geom_point() + stat_smooth(method="lm",se=FALSE,aes(group=1,col="all")) + 对所有数据做一条回归线 stat_smooth(method="lm",se=FALSE) *图四 library(RColorBrewer) myColors <- c(brewer.pal(5,"Dark2"),"black") 自己来控制颜色 display.brewer.pal(5,"Dark2") 显示某类颜色 display.brewer.all() 显示所有调色板的颜色 ggplot(airquality,aes(Wind,Temp,col=factor(Month))) + geom_point() + stat_smooth(method="lm",se=FALSE,aes(group=1,col="ALL")) + stat_smooth(method="lm",se=FALSE) + scale_color_manual("Month",values = myColors) 这样就能自己控制颜色 *图五 ggplot(airquality,aes(Wind,Temp,col=factor(Month))) + geom_point() + stat_smooth(method="lm",se=FALSE) + facet_grid(.~Month) 面板按月份分开 *图六 + theme_classic() 加这层改变主题 图一图二图三图四图五图六 R colorpal <- colorRamp(c("red","blue")) 以红,蓝为端点 pal(0) 0 是红色 pal(1) 1 是蓝色 pal(seq(0,1,len=10)) 从中间等距取10个数,颜色渐变 pal <- colorRampPalette(C("red","yellow")) 以红,黄为端点 pal(1) 取一个颜色,红色 pal(10) 取十个颜色,红到黄渐变 library(RColorBrewer) brewer.pal.info 查看这个调色板的信息 display.brewer.all() 这个可以直接看调色板所有颜色 cols <- brewer.pal(3,"Greens") 从Greens这个组里取3个颜色 pal <- colorRampPalette(cols) 以这3个颜色为端点 image(volcano,col = pal(20)) 取20个渐变颜色,数据集为volcano, 画图像 |
请发表评论