数据可视化:为您的数据选择正确图表的方法
介绍
本指南将帮助您确定选择适合您需求的可视化的最佳做法。方法很简单,我们首先回答与您正在处理的数据集相关的问题,然后使用 R 代码为每种情况生成可视化。本指南中使用的图表很简单,通常没有颜色或尺寸调整。这将有助于理解单行代码如何帮助快速生成图表。我们将使用 R 进行所有可视化,因此应该安装 RStudio 或兼容程序。
了解你的数据
它是定性的还是定量的?
定量数据是关于数量的信息,一般来说,是可以测量的。另一方面,定性数据是关于无法测量的信息,称为分类数据。使用焦点小组讨论、一对一访谈或案例研究收集的数据通常是定性的。它可以进一步分类如下:
二项数据
二项式不是二进制数据(0 或 1,真或假),通常是概率结果的结果。例如,一系列试验导致两种可能结果中的一种。场景:一枚硬币被抛掷 100 次并记录结果。散点图用于显示分布。
#Generating Sample numbers
> myseq <- seq(1,100,by = 1)
> print(myseq)
# Binomial distribution
> BD <- dbinom(myseq,100,0.5)
> print(BD)
# Make a Scatter Plot.
> plot (x = myseq, y = BD, xlab ="Probability",ylab="Observation number")
标称数据:
值被分配到不同的类别,没有有意义的顺序。例如,有关吸烟习惯的数据可以分类,但不能排序。场景:生成随机数据以对性别进行分类。饼图用于显示百分比值。
#Generating dataset with Gender Values
> Gender <- c("Male", "Female", "No Answer")
> Gendervals <- table(sample(Gender,25,replace = TRUE, prob = c(0.25,0.50,0.25)))
# Making a basic Pie chart
> pie( Gendervals, Gender)
序数数据
有序数据,但没有尺度来衡量差异。数据的顺序或等级是序数数据的显著特征。场景:让我们为患者创建虚拟调查数据集,询问他们头痛的频率以及疼痛程度是高、中还是低。我们将制作一个 Spine 图来显示结果。
#build a dataset for survey data for Frequency of headaches vs level of pain.
> frequecyh <- rep(1:5, times = c(20, 38, 16, 72, 40))
> levelpain <- c(rep(1:5, times = c(25, 17, 18, 02, 01)), #High
rep(1:5, times = c(20, 04, 21, 01, 02)), # Medium
rep(1:5, times = c(22, 03, 30, 03, 17))) #Low
> levelp <- data.frame(frequecyh, levelpain)
> plot(factor(levelpain)~factor(frequecyh), xlab= "Frequency of pain", ylab= "Level of Pain")
连续数据
表示一系列可分为不同级别的信息的数据。总而言之,数据无法计数,具有无限值,但仍然可以测量并可以细分。例如,温度、湿度、高度、重量等都是在给定范围内测量的。
场景:让我们以 Beaver1 数据集为例,并为温度值构建直方图。
> hist(beaver1$temp,xlab = "Temperature",ylab = "Range",main = "Beaver 1")
离散数据
读数或有限的整数计数。简单来说,离散数据涉及整数、有限数量的可能值,并且不能分成几部分。例如,50 名员工、3 台笔记本电脑、5 个朋友都是整数。场景:让我们以 mtcars 数据集为例,其中气缸和齿轮的数量是整数,因此条形图可以描绘两者之间的关系。
> x <- table(mtcars$gear,mtcars$cyl)
> barplot(x, xlab = "No of cylinders", ylab = "Gears")
您的数据是单变量的还是多变量的?
单变量
单变量:顾名思义,Uni(一个)和Variate(变量),数据只有一个变量,或者从统计学角度来说,数据由一个向量分量组成。例如,不同日期的某个点的温度变化。场景:让我们看看内置数据集 US accidental deaths 如何在折线图中表示。这是一个包含年份、月份和意外死亡人数的简单数据集,是单变量数据的一个很好的例子。
# Univaraite Data
> print (USAccDeaths)
> plot(USAccDeaths type = 1)
多变量
多变量:另一方面,多变量是处于不同状态的多个变量。例如,研究不同时间点和日期的温度、湿度和风速。场景:对于此场景,让我们采用鸢尾花数据集,并使用散点图矩阵。
# iris data
plot (iris)
你想要实现什么目标?
专注于可视化想要实现的目标也很重要。例如,您可以制作面积图来研究变量与其行为之间的关系,并且可以使用相关图来根据变量之间的相互影响来了解变量之间的关系。同样,您可以根据标准比较变量的值;为此,可以考虑使用散点图和气泡图。如果目的是研究数据的组成,则可以使用饼图或百分比图。
综上所述
总而言之,可视化的第一步是了解数据。下表简要介绍了如何根据您的数据选择图表。如果您正在寻找简单、快速的解决方案,请使用 plot(),因为它直观且可以处理常见的图表类型。
单变量 | 多变量 |
---|---|
折线图 | 热图 |
虚线 | 堆积柱状图 |
蜡烛台 | 箱线图 |
条形图 | 气泡图 |
定性 | 定量 |
---|---|
气泡图 | 瀑布图 |
热图 | 折线图 |
桑基图 | 直方图 |
饼图 | 密度图 |
空间地图 | 时间序列图 |
关联 | 比较 | 作品 | 分配 |
---|---|---|---|
散点图/气泡图 | 散点图 | 面积图 | 直方图 |
点图 | 条形图/蜡烛图 | 密度图 | 面积图 |
桑基图 | 轴线/双线 | 瀑布图 | <font style="vertical-align: inh |
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~