R语言之数据可视化

数据科学家需要具备哪些知识与技能?

  • 计算机技能
  • 数学和统计学知识
  • 业务能力

数据科学家的分类

  • 数据开发者
    1.开学人员
    2.工程师
  • 数据研究者
    1.研究人员
    2.科学家
    3.统计学家
  • 数据创意
    1.万金油
    2.艺术家
    3.黑客
  • 从事数据的商业者
    1.领导者
    2.企业管理者
    3.商业者

不同领域的数据科学家需要的技能是有所侧重的:
这里写图片描述

完整的数据分析流程

  • 定义研究问题
  • 定义理想的数据集
  • 确定能够获取什么数据
  • 获取数据
  • 清理数据

  • 探索性分析(数据可视化)
  • 统计分析/建模(机器学习)等

  • 解释/交流结果(数据可视化)
  • 挑战结果(有没有其他可能)
  • 书写报告(Reproducible原则)

数据基础

  • 观测(observation)
  • 变量(variable)
    这里写图片描述
    数值型:进行定量分析
    分类型:进行定性分析
  • 数据矩阵(data matrix)
    这里写图片描述

变量间的关系(对应不同的可视化方法和统计分析方法)
* 两个数值变量
* 两个分类变量
* 一个数值变量、一个分类变量

数值变量的特征和可视化

  • 数据集中趋势的测量
    均值、中位数、众数
  • 数据分散趋势的测量
    值域、方差、标准差、四分位数
  • 稳健统计量
    是:中位数、四分位差(受极端影响小)
    否:均值、标准差、值域(受极端值影响大)
  • 一个变量的可视化
    柱状图、点图、箱图(中位数、分位点、极端值)
    这里写图片描述
  • 两个变量的关系
    散点图:方向、形状、强度、极端值

分类变量的特征和可视化

  • 一个分类变量的可视化
    频率表、条形图
  • 两个分类变量的关系
    关联表、相对频率表、分段条形图、相对频率分段条形图、马赛克图
  • 一个分类变量、一个数值变量的关系
    并排箱图

R的绘图系统

R的三大绘图系统

  • 基本绘图系统
    1.艺术家的调色板:绘图始于空白帆布;需要事先计划;直观地实时反映绘图和分析数据的逻辑
    2.基本包含两个步骤:图+修饰/添加=执行一系列函数
    3.适于绘制2D图
  • Lattice绘图系统
    1.绘图=使用一次函数调用(一次成图)
    2.特别适用于观测变量之间的交互:在变量z的不同水平,变量Y如何随变量x变化
  • ggplot2绘图系统
    1.用语法来作图
    图:动词、名词、形容词等
    数据映射到几何客体(点、线、面)的美学属性(颜色、形状、大小)
    2.基本绘图系统+Lattice绘图系统
    自动处理标题/文字说明/空间等,但也允许通过添加注释进行修改

基本绘图系统

  • 绘图函数(在graphics包)
    1.plot、hist(柱状图)、boxplot(箱图)、points(点)、lines(线)、text(在图的指定位置添加文字)、title(命名)、axis(添加坐标轴)
    2.调用函数会启用一个图形设备(如果没有正在运行的图形设备),并在设备上绘图
  • plot()
    plot(x,y,……)
    重要参数:xlab(坐标)、ylab、lwd(线宽)、lty(线的类型)、pch(点的类型)、col(颜色)……
  • par()
    用于设置全局参数:
    bg:背景颜色
    mar:边界边距
    las:坐标轴汉字的排版
    mfrow:将画板分为几行几列,按行填充
    mfcol:将画板分为几行几列,按列填充
    练习:
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, cex = 1,
       col = c("red", "blue", "black"),
       legend = c("sep", "May", "Other"))

结果:
这里写图片描述

全局参数

  • 查看全局参数
    par(”bg“):背景颜色
    par(”mar“):边界边距
    par(“las:):坐标轴汉字的排版
    par(”mfrow“):将画板分为几行几列,按行填充
    par(”mfcol“):将画板分为几行几列,按列填充
    例子代码:
par(mfrow=c(1,2))#将画板分为一行两列
hist(airquality$Wind)
hist(airquality$Temp)

结果:
这里写图片描述

Lattice绘图系统之基础知识

  • 绘图函数
    lattice包:
    1.xyplot/bwplot/histgram/stripplot/dotplot/splom/levelplot/contourplot
    2.格式:xyplot(y ~ x|f * g, data)
    3.pannel函数,用于控制每个面板内的绘图
    grid包:
    1.实现了独立于base的绘图系统
    2.lattice包是基于grid创建的,很少直接从grid包调用函数
  • lattice和base的重要区别
    1,base绘图函数直接在图形设备上绘图
    2.lattice绘图函数返回trellis类对象
    打印函数真正执行了在设备上绘图
    命令执行时,trellis类对象会被自动打印,所以看起来就像是lattice函数直接完成了绘图
    练习:
library(lattice)#载入包
xyplot(Temp ~ Ozone, data = airquality)
airquality$Month <- factor(airquality$Month)
xyplot(Temp ~ Ozone | Month, data = airquality,
layout = c(5,1))
q <- xyplot(Temp ~ Wind, data = airquality)
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)#在x、Y均值分别画条直线
panel.lmline(x,y, col = "red")#添加回归线,做拟合
})

结果:
这里写图片描述

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值