博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【R语言学习笔记】二、数据可视化
阅读量:4099 次
发布时间:2019-05-25

本文共 3768 字,大约阅读时间需要 12 分钟。

数据科学家所需要具备的知识与技能

Hacking skills
Math&StatisticsKnowledge
SubstantiveExpertise
* 完整的数据分析流程 *

  1. 定义研究问题
    定义理想的数据集
    确定能够获取什么数据
    获取数据清理数据
  2. 探索性分析(数据可视化)
    统计分析、建模(机器学习)等
  3. 解释/交流结果(数据可视化)
    挑战结果
    书写报告(Reproducible原则)
    ## 数据基础 ##
    观测、变量、数据矩阵
    变量的类型
    数值型 连续、离散
    分类 有序、无序
    变量间的关系

数值变量的特征和可视化

集中趋势的测量 均值(mean)、中位数(median)、众数(mode)
分散趋势 值域、方差、标准差、四分位距
一个变量的可视化
–柱状图(histogram)、点图(dot plot)
–箱图(box plot)

两个变量的关系

–散点图(scatter plot)方向、形状、强度、极端值

分类变量的特征和可视化

–频率表(frequency table)、条形图(bar plot)
两个分类变量的关系
–关联表(contingency table)、相对频率表(relative frequencies)
–分段条形图、相对频率分段条形图
–马赛克图(mosaicplot)
一个分类变量和一个数值变量的关系
–并排箱图

这里写代码片

R的三大绘图系统

–基本绘图系统:图+修饰/添加=执行一系列函数
–Lattice绘图系统:一次成图,特别适用于变量间的交互
–ggplot2绘图系统

基本绘图系统(graphics包)

-plot/hist/boxplot/points/lines/text/title/axis

library(MASS)data(airquality)head(airquality)hist(airquality$Wind)hist(airquality$Wind,xlab="Wind")boxplot(airquality$Wind,xlab="Wind",ylab="Speed(mph)")boxplot(Wind~Month,airquality,xlab="Wind",ylab="Speed(mph)")plot(airquality$Wind,airquality$Temp)with(airquality,plot(Wind,Temp))#with函数下定义数据集title(main="Wind and Temp in NYC")# 修饰,添加标题}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==5),points(Wind,Temp,col="blue"))with(subset(airquality,Month%in%c(6,7,8)),points(Wind,Temp,col="black"))#拟合fit<-lm(Temp~Wind,airquality)abline(fit,lwd=2)legend("topright",pch=1,col=c("red","blue","black"),legend=c("Sep","May","Other"))#注释par("bg")par("col")par("mar")#bottom,left,top,rightpar("mfrow")#两幅图放在一行两列的图中par(mfrow=c(1,2))hist(airquality$Wind)hist(airquality$Temp)par("mfcol") #与mfrow类似

Lattice绘图系统

绘图函数:(lattice包)
xyplot/bwplot/histogram/stripplot/dotplot/splom/levelplot/comtourplot
格式;xyplot(y~x|f*g,data)
panel函数,用于控制每个面板内的绘图
(grid包)

library(lattice)library(MASS)data(airquality)xyplot(Temp~Ozone,data=airquality)airquality$Month<-factor(airquality$Month)xyplot(Temp~Ozone|Month,data=airquality,        layout=c(5,1))q<-xyplot(Temp~Ozone|Month,data=airquality,        layout=c(5,1))print(q)set.seed(1)x<-rnorm(100)f<-rep(0:1,each=50)y<-x+f-f*x+rnorm(100,sd=0.5)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")})

这里写图片描述

ggplot2绘图系统

层(Layer)
qplot()、ggplot()

library(ggplot2)library(MASS)qplot(Wind,Temp,data=airquality)qplot(Wind,Temp,data=airquality,col=Month)qplot(Wind,Temp,data=airquality,shape=Month)qplot(Wind,Temp,data=airquality,size=Month)qplot(Wind,Temp,data=airquality,col=I("red"),     xlab="Wind(mph)",ylab="Temp",main="Wind vs Temp")qplot(Wind,Temp,data=airquality,geom=c("point","smooth"))qplot(Wind,Temp,data=airquality,col=Month,geom=c("point","smooth"))qplot(Wind,Temp,data=airquality,facets=.~Month)qplot(Wind,data=airquality,facets=Month~.)qplot(Wind,data=airquality,fill=Month)qplot(Wind,data=airquality,geom="density")qplot(y=Wind,data=airquality)ggplot(airquality,aes(Wind,Temp))+   geom_point(coloe="steelblue",alpha=0.4,size=5)ggplot(airquality,aes(Wind,Temp))+   geom_point(aes(color=factor(Month)),alpha=0.7,size=1)ggplot(airquality,aes(Wind,Temp))+   geom_point()+   geom_smooth()ggplot(airquality,aes(Wind,Temp))+   stat_smooth(method="lm",se=FALSE,aes(col=factor(Month)))library(RColorBrewer)myColor<-c(brewer.pal(5,"Dark2"))display.brewer.pal(5,"Dark2"))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=myColor)

R语言绘图之颜色

grDevice包
–colorRamp()&colorRampPelette()
颜色名字可使用colors()获取

RColorBrewer包

–三类调色板 sequentual/diverging(突出极端)/qualitative(适用分类变量)

你可能感兴趣的文章
《python+opencv实践》四、图像特征提取与描述——30Harris 角点检测
查看>>
《python+opencv实践》四、图像特征提取与描述——31 Shi-Tomasi 角点检测& 适合于跟踪的图像特征
查看>>
OpenCV meanshift目标跟踪总结
查看>>
人工神经网络——神经元模型介绍
查看>>
人工神经网络——感知器介绍
查看>>
人工神经网络——反向传播算法(BackPropagation)
查看>>
进程的地址空间概述
查看>>
Windows 窗口底层原理
查看>>
一种函数指针的运用
查看>>
Win32程序之进程的原理
查看>>
C++虚函数原理
查看>>
MySQL的索引
查看>>
今天,Python信息量很大!
查看>>
Flash 已死,Deno 当立?
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
都无代码了,还要程序员吗?
查看>>
程序员:凭自己能力吃饭,有什么理由瞧不起?
查看>>
面试想拿 10K,HR 说我只配7k?
查看>>
副业过万的程序员都知道的网站有哪些
查看>>