画柱状图。
画柱状图。
画柱状图
数据科学家的分类
4-2R Markdown
R Markdown:R code +Markdown 将Markdown转为HTML
第4章 制作和发布报告
4-1可重复研究与可再现研究
Replication(可重复):独立的研究者/数据/分析方法/工具得到一致的证据
Reproducible Research(可再现研究):让数据和分析过程(code)透明
工具:R Markdown
第4章 制作和发布报告
4-1可重复研究与可再现研究
Replication(可重复):独立的研究者/数据/分析方法/工具得到一致的证据
Reproducible Research(可再现研究):让数据和分析过程(code)透明
工具:R Markdown
第4章 制作和发布报告
4-1可重复研究与可再现研究
Replication(可重复):独立的研究者/数据/分析方法/工具得到一致的证据
Reproducible Research(可再现研究):让数据和分析过程(code)透明
工具:R Markdown
第4章 制作和发布报告
4-1可重复研究与可再现研究
Replication(可重复):独立的研究者/数据/分析方法/工具得到一致的证据
Reproducible Research(可再现研究):让数据和分析过程(code)透明
工具:R Markdown
3-11图形设备
R支持的图形设备
图形设备:1.屏幕设备(探索性分析常用):电脑屏幕
2.文件设备(打印/文章用图常用):向量格式(PDF)、位图(PNG/JPEG/TIFF/BMP)
3.grDevices包:包含了实现各种图形设备的代码
如何把图画到文件设备中:
pdf(file="myfig.pdf")
with(airquality,plot(Wind,Temp,main="Wind and Temp in NYC"))
dev.off()(关闭设备)(在工作路径中找到图)
getwd()(显示工作路径)
dev.copy(png,file="mycopy.png")(把图复制到png文件中)
dev.off()
3-10R Color
R语言绘图之颜色
grDevice包:colorRamp()(返回的是0到1之间的数值) & colorRampPalette()(返回的是颜色的16进 制的表示)
颜色名字可以使用colors()获取
RColorBrewer包:三类调色板——sequential(适合顺序数据)/diverging(适合凸显极端数值)/qualitative(适合分类变量)
调色板信息可与colorRamp/colorRampPalette结合使用
colorRamp() 的用法:pal<-colorRamp(c("red","blue"))
pal(0)#red
pal(1)#blue
pal(0.5) (使用这两个颜色中间的任意一个颜色,输入小于1的数就可以)
pal(seq(0,1,len=10))(生成一系列的值,长度为10,在0到1之间)
colorRampPalette()的用法:pal<-colorRampPalette(c("red","yellow"))
pal(1)(红色) pal(2)(红色和黄色)
RColorBrewer包:library(RColorBrewer)
brewer.pal.info(查看调色板的信息)
RColorBrewer的调色板与colorRampPalette结合使用:
cols<-brewer.pal(3,"Greens")(调用了Greens调色板,取了3个颜色)
pal<-colorRampPalette(cols)
image(volcano,col=pal(20))(以3个颜色为3个端点,在3个端点中进行取值)
display.brewer.pal(3,"Greens")
3-9ggplot2绘图系统之ggplot
library(ggplot2)
ggplot(airquality,aes(Wind,Temp)) +geom_point(color="steelblue",alpha=0.4,size=5)(一层加一层)
ggplot(airquality,aes(Wind,Temp)) +geom_point(aes(color=factor(Month)),alpha=0.4,size=5)
ggplot(airquality,aes(Wind,Temp)) +geom_point()+geom_smooth()(geom为几何客体 添加一条回归线) =ggplot(airquality,aes(Wind,Temp)) +geom_point()+stat_smooth()
ggplot(airquality,aes(Wind,Temp)) +geom_point()+geom_smooth(method="lm",se=FALSE,aes(col=factor(Month)))(给每个月份的数据拟合一条回归线)
ggplot(airquality,aes(Wind,Temp,col=factor(Month),group=1)+geom_point()+geom_smooth(method="lm",se=FALSE))(对所有数据进行拟合)
3-7ggplot2绘图系统之基础知识
绘图函数:1.qplot() 类似于Base系统的plot(),参数包含aesthetics/geom/facet...
隐藏了绘图实现的细节
2.ggplot() 是核心,可以实现qplot()无法实现的功能
调用ggplot()本身并不能实现绘图,要在其基础上添加层(如geom_point())才可 以
3-6Lattice绘图系统之实践
library(lattice)
xyplot(Temp~Ozone,data=airquality)
airquality$Month<-factor(airquality$Month)(Month变成了分类变量)
xyplot(Temp~Ozone|Month,data=airquality,layout=c(5,1))(在不同月份下前面2个变量的关系,外显的布局是5行1列) Lattice系统适合做交互作用。
q<-xyplot(Temp~Wind,data=airquality)
print(q)
set.seed(1)(设置了一个种子点,意义是每次产生的随机数是一样的 非常重要,只要使用随机数就要设置)
x<-rnorm(100)(标准正态分布抽取的随机数)
f<-rep(0:1,each=50)(f变量只有0和1,每个数出现50次)
y<-x+f-f*x+rnorm(100,sd=0.5)(让x和y之间的关系与f变量有交互)
f<-factor(f,labels=c("Group1","Group2"))
xyplot(y~x|f,layout=c(2,1))
xyplot(y~x|f,panel=function(x,y){
panel.xyplot(x,y)
panel.abline(v=mean(x),h=mean(y),lty=2)
panel.lmline(x,y,col="red")})(在x均值在的地方画一条垂线,在y均值在的地方画一条水平线)
3-5Lattice 绘图系统之基础知识
lattice包:xyplot/bwplot/histogram等
格式:xyplot(y~x|f*g,data)(f*g的含义是分类变量)
panel函数,用于控制每个面板内的绘图
grid包:实现了独立于base的绘图系统
lattice包是基于grid创建的;很少直接从grid包调用函数
Lattice与Base的重要区别:
Base绘图函数直接在图形设备上绘图
Lattice绘图函数返回trellis类对象,而不是直接绘图(打印函数真正执行了在设备上绘图,命令执行时,trelllis类对象会被自动打印)
3-5Lattice 绘图系统之基础知识
lattice包:xyplot/bwplot/histogram等
格式:xyplot(y~x|f*g,data)(f*g的含义是分类变量)
panel函数,用于控制每个面板内的绘图
grid包:实现了独立于base的绘图系统
lattice包是基于grid创建的;很少直接从grid包调用函数
Lattice与Base的重要区别:
Base绘图函数直接在图形设备上绘图
Lattice绘图函数返回trellis类对象,而不是直接绘图(打印函数真正执行了在设备上绘图,命令执行时,trelllis类对象会被自动打印)
3-5Lattice 绘图系统之基础知识
lattice包:xyplot/bwplot/histogram等
格式:xyplot(y~x|f*g,data)(f*g的含义是分类变量)
panel函数,用于控制每个面板内的绘图
grid包:实现了独立于base的绘图系统
lattice包是基于grid创建的;很少直接从grid包调用函数
Lattice与Base的重要区别:
Base绘图函数直接在图形设备上绘图
Lattice绘图函数返回trellis类对象,而不是直接绘图(打印函数真正执行了在设备上绘图,命令执行时,trelllis类对象会被自动打印)
3-4R语言 基本绘图系统之全局参数
par("bg")(作图面板的背景颜色)
par("col")(图的颜色为黑色)
par("mar")(图的边距)
par("mfrow")(1行1列,只能做一个图)
par("mfcol")(同上,以列的方式做填充)
?par
举例:
1.par(mfrow=c(1,2))
hist(airquality$Temp)
hist(airquality$Wind)
2.par(mfcol=c(2,1))
hist(airquality$Temp)
hist(airquality$Wind)
3-3 R语言 基本绘图系统之实践
hist(airquality$Wind,xlab="Wind")(数值型变量风速的柱状图)
boxplot(airquality$Wind,xlab="Wind",ylab="Speed(mph)")(箱图)
boxplot(Wind~Month,airquality,xlab="Month",ylab="Speed(mph)")(一个分类变量和一个数值变量的关系,每个月份的风速)
plot(airquality$Wind,airquality$Temp)(风速和温度的散点图)=with(airquality,plot(Wind,Temp))
title(main="Wind and Temp in NYC")(加标题,可以直接将括号中的命令放入with命令中)
with(airquality,plot(Wind,Temp,main="Wind and Temp in NYC",type="n"))(除了点以外其他的信息都有)
with(subset(airquality,Month==9),points(Wind,Temp,col="red"))(按月份画点,不同月份显示的点有不同的颜色)
with(subset(airquality,Month%in%c(6,7,8)),points(Wind,Temp,col="red"))
fit<-lm(Temp~Wind,airquality)(拟合模型)
abline(fit,lwd=2)
legend("topright",pch=1,col=c("red","blue","black"),legend=c("Sep","May","Other"))(点的颜色代表的含义)
3-2 基本绘图系统之基础知识
绘图函数(graphics包):
plot/hist(柱状图)/boxplot/points/lines/text(指定位置添加文字)/title/axis(添加坐标轴)
调用函数会启用一个图形设备(如果没有正在运行的图形设备),并设备上绘图
基本绘图系统+屏幕设备
plot():plot(x,y,.....) 重要参数:xlab/ylab/lwd/lty/pch/col
?par(了解更多重要参数)
par():用于设置全局参数(作用于R中的所有plot绘图)
bg(背景颜色)/mar(作图时与边界的边距)/las(呈现x的坐标的话 输入的汉字是横排版或竖排版)/mfrow(当前的画板分为几行几列,并且作图时按照行来填充)/mfcol(当前的画板分为几行几列,并且作图时按照列来填充)
这些参数可以在每次plot之前进行修改
第3章 R的绘图系统
3-1R语言 三大绘图系统简介
基本绘图系统(Base Plotting System ):
特点是绘图始于空白帆布,所以有人称为艺术家的调色板。需要事先计划(图里的点线以及坐标轴都是人为加上去的);直观地实时反映绘图和分析数据的逻辑
两步=图+修饰/添加=执行一系列函数
适合绘制2D图
Lattice绘图系统(Lattice Plotting System):
绘图=使用一次函数调用(一次成图)
特别适用于观测变量间的交互:在变量z的不同水平,变量y如何随变量x变化
ggplot2绘图系统(ggplot2 Plotting System):
The Grammar of Graphics
图:动词、名词、形容词等
本质是把数据映射到几何客体(points/lines/bars)的美学属性(颜色/形状/大小)
可以视为基本绘图系统+Lattice绘图系统的合体
既可以像Lattice绘图系统一样自动处理标题/文字说明/空间等,但也像基本绘图系统允许通过添加注释进行修改
2-3分类变量的特征和可视化
一个分类变量的可视化:频率表(frequency table)、条形图(bar plot)
两个分类变量的关系:关联表(contingency table)、相对频率表(relative frequencies)、分段条形图、相对频率分段条形图、马赛克图(mosaicplot)
一个分类变量、一个数值变量的关系:并排箱图(side-by-side box plot)
2-2数值变量的特征和可视化
集中趋势
分散趋势
x<-c(1,9,2,8,3,9,4,5,7,6)
mean(x)
median(x)
var(x)
sd(x)
summary(x)
稳健统计量(robust statistics):中位数、四分位差(受极端值影响小)
一个变量的可视化:
柱状图(histogram)、点图(dot plot)(分布)、箱图(box plot)(中位数、分位点、极端值)
两个变量的关系:
散点图(scatter plot):方向、形状、强度、极端值
第2章 了解数据特征
2-1R语言数据基础
以上为1个数据矩阵
变量的类型:数值(quantitative):连续性和离散型
分类:无序(不可比较) 有序(顺序有意义)
变量间的关系(对应不同的可视化方法和统计分析方法)
1-3完整的数据分析流程
定义研究问题
定义理想的数据集
确定能够获取什么数据
获取数据
清理数据
探索性分析(数据可视化)
统计分析/建模(机器学习)等
解释/交流结果(数据可视化)
挑战结果(有没有其他可能)
书写报告(Reproducibe原则)
假设驱动 vs 数据驱动
ggplot
3-6没看懂
side-by-side box plot
两个边线的含义不是值域。是Q1-1.5IQR
Q3+1.5IQR。
竖线外是极端值。⭕️异常值
11111