统计学(三)——数据可视化表达
统计学作为一门学科,源于人类对信息的记录与分析需求,随着时间的推移,统计学不断演变,成为现代科学、经济和社会发展的重要工具。在统计学的发展过程中,图表学派的崛起是一个重要的阶段,图表作为数据表达的方式,极大地提升了数据的可视化能力和理解效果。通过图表,复杂的数据得以以更加直观的方式呈现,使得人们能够在短时间内从大量信息中提取出关键模式和趋势。这对于数据驱动的决策至关重要,在许多领域中发挥了重要作用:商业与经济:在商业和经济分析中,图表帮助决策者更好地理解市场趋势、销售数据、顾客行为等信息,从而做出更明智的战略决策。例如,股市中的K线图能够帮助投资者直观分析股票的价格波动。科学研究:在科学研究中,图表是展示实验结果、统计分析的关键工具。通过散点图、箱线图、误差条等可视化手段,研究者能够更清楚地展示变量之间的关系,并有效地沟通研究发现。
统计图表1 | 统计图表2 |
---|---|
图和表是集成整合描述数据特征的两个重要工具,统计表或统计图为了使市场调研资料的表达直观生动、通俗易懂、便于分析比较等,但二者的效果是不同的,统计图更能直观、形象的反映数据间的变化和联它是数据可视化的基础。统计表是反映统计的表格。是对统计指标加以合理叙述的形式,它使统计条理化,简明清晰,便于检查数字的完整性和准确性,以及对比分析。统计图是根据统计数字,用几何图形、事物形象和地图等绘制的各种图形。它具有直观、形象、生动、具体等特点。统计图可以使复杂的统计数字简单化、通俗化、形象化,使人一目了然,便于理解和比较。
零、图表学派概览
图表学派的发展历程,是统计学从纯数字分析迈向数据可视化的关键一步,它改变了人类理解和处理数据的方式。在这一过程中,统计图表作为一种重要的表达手段,经历了从简单的可视化到复杂的、多维度表达的演变。图表学派的发展不仅推动了统计学的进步,也影响了多个领域的数据处理与展示方式。
图表学派的起源
图表学派的起源可以追溯到18世纪末,威廉·普莱费尔(William Playfair)是图表学派的早期代表和现代统计图表的创始人。他于1786年发表了《政治和商业的图表》(The Commercial and Political Atlas),首次使用折线图、条形图等形式展示英国的进出口贸易数据。普莱费尔认为,通过图表形式表达数据,能够更加直观和清晰地展示经济和社会现象。他的发明改变了以往单纯依赖表格和数字的表达方式,为后来的数据可视化奠定了基础。普莱费尔的贡献在于,他不仅开创了基本的图表形式,还意识到了图表在帮助人们理解复杂数据、揭示趋势和模式方面的巨大潜力。他的折线图展示了随时间变化的数据趋势,条形图用于比较不同类别的数据,而饼图则直观地展示了整体与部分之间的比例关系。
19世纪的图表学派发展
19世纪,随着工业革命的兴起,数据的量和复杂性大幅增加。社会经济的迅速发展以及技术的进步,使得对复杂数据的理解和处理需求大大增加。此时,图表成为人们理解大量信息的关键工具,图表学派开始受到广泛关注。在这一时期,查尔斯·明雅尔(Charles Minard)成为图表学派的代表人物之一。他是法国的土木工程师和统计学家,以他精妙的统计图表设计闻名。他的图表不仅仅停留在二维数据展示的基础上,而是将时间、空间、数量等多重维度结合在一起,形成了更为复杂和信息丰富的图示。他的最著名作品是“拿破仑远征俄国图”,这张图通过展示拿破仑军队规模的变化、行进路线、气温等信息,成为数据可视化领域的经典之作。明雅尔图以视觉形式有效地表达了复杂的统计信息,成为多维数据展示的典范。通过该图,人们能够快速理解战争的规模、地点与气候变化对军队的影响等关键因素。明雅尔的贡献不仅在于图表的创新设计,更在于他通过图表展示了数据的故事,突出了数据可视化的叙事功能。
图表学派的持续进化
20世纪,随着统计学方法的发展和计算技术的进步,图表学派进一步扩展和成熟。大量的统计分析工具和方法,如回归分析、概率分布、假设检验等被广泛应用,图表的形式也更加多样化,涵盖了散点图、箱线图、热力图等复杂的统计图表。与此同时,数据可视化逐渐从纸质媒体走向数字平台,成为动态化、交互化的工具。艾德华·塔夫特(Edward Tufte)是现代数据可视化领域的关键人物之一,他通过对图表设计原则的总结,进一步推动了图表学派的发展。他提出的“数据墨水比率”、“图表的最小化冗余”等概念,强调图表应当简洁、直观地传达关键信息,避免不必要的装饰。进入21世纪,随着大数据、人工智能和计算机技术的发展,图表学派在数据科学中的地位愈发重要。可视化工具如Tableau、Power BI等使得人们可以更方便地处理和展示数据,图表不仅限于展示静态数据,还发展为互动式和实时更新的动态可视化工具。复杂的三维图、网络图、动态图等形式让数据可视化成为数据分析的重要环节。
图表学派自威廉·普莱费尔时代以来,经历了持续的发展和创新。它从最初简单的折线图、条形图,发展到今天复杂、多维度的交互式可视化工具,不仅改变了数据的呈现方式,也推动了统计学、社会科学、商业分析等多个领域的进步。通过图表,数据变得更加直观、生动,使得人们能够更有效地理解和利用信息。
一、统计表(频数分布表)
频数分布情况常用统计表来表示,为此先陈述统计表的设计原理和要求。统计表是纵横线交叉所组成的一种表格,表格内所列的是整理后系统的统计资料。其优点在于:资料易于条理化,简单明了,且可以节省大量文字叙述,便于比较分析,检查数字的完整性和准确性。统计表一般采用上中下三线图,即表的左、右之纵向线条一般不画。统计表的结构,可从表的形式和内容两个方面加以论述。统计表是由总标题、横行标题、纵栏标题、纵横格线和数字资料构成。有些统计表需在表的下端增加注解,以说明资料的来源、某些指标数值的计算方法、填表单位和其他需要说明的问题。总标题也称为统计表的名称,它用概括性的文字简单明了地需要说明统计资料时间、基本内容和范围。一般写在表的上部中端。横行标题通常用来表示各组的名称,反映统计表的主要项目,写在表的左方,纵栏标题是统计指标的名称,说明纵栏所列各项资料的内容,写在表内右上方。数字资料也称指标数值,它是统计表的具体内容,列在各横行标题和各纵栏标题的交叉处。任何一个具体数值都由横行标题和纵栏标题所限定。
1.1 统计表的内容
统计表分为主词栏和宾词栏两部分。主词是统计表所要说明的对象。它可以是各个总体单位的名称、总体各个组或全部,一般列在表的左端,宾词是说明主词的各种指标,包括指标名称和指标数值,一般列在表的右端。必要时,主词和宾词可变化位置。
编制统计表时应注意以下几个问题:统计表的栏数如果过多,要加以编号,主词和计量单位各栏用(甲)、(乙)、(丙)等文字编写;宾词指标各栏则用(1)、(2)、(3)等数字编号;表中数字要填写整齐,位数对准。当不存在这项数字时,用符号“-”表示;当缺乏某项资料时,用符号“…”表示;数字资料要注明计量单位。当全表只有一种计量单位时,可把它写在表头的右上方。如果表中需要分别注明不同单位时,横行的计量单位可专设“计量单位”一栏,纵栏的计量单位可与纵标题写在一起用小字标明;统计表的文字、数字要书写工整、清晰,数位要对齐;某些特殊资料需要说明的,应在表的下方加以注解;数字资料要在表下说明来源,以备查考。
1.2 频数分布表示方法
在统计分组的基础上,可以将总体所有单位按某一标志进行归类排列,并显示其次数,这样获得的分布称为频数分布或次数分布。通过对零乱、分散原始资料的整理,可形成一系列反映总体各组之间单位分布状态的数列,即分布数列。分布数列有两个基本要素:总体按照某标志划分的组,各组所出现的单位数。分布数列按分组变量的标志分,有品质分布数列和变量分布数列,后者又分组距分布数列和单变量值分布数列,组距分布数列又可以分等距分布数列和异距分布数列。
library(ggplot2)
library(psych)
library(tidyr)
head(mtcars)
d1<-table(mtcars$carb) #频数表
d2<-table(mtcars$vs,mtcars$carb) #列联表
addmargins(d2)
1 2 3 4 6 8 Sum
0 0 5 3 8 1 1 18
1 7 5 0 2 0 0 14
Sum 7 10 3 10 1 1 32
列表法是用统计表来表示频数分布,包括累计频数和频率等。在异距分布数列中,各组次数多少受组距不同的影响,各组的频数可随着组距扩大而增加,因此一般要计算频率和频率密度。频率=频数/总合计数*100%,频率密度=频率/组距。为了更清楚反映数据分布的特点,实践中常需计算累计频数或累计频率。编制向上累计频率(频数)分布的方法是,先列出各组的上限,然后由标志值低的组向标志值高的组依次累计。向上累计频数(频率)表明某组上限以下的各组单位数之和。
频数分布表 | 交叉分组列(列联)表 |
---|---|
频数分布表仅仅是对样本数据的总结,它反映的是样本中某一现象的实际发生频率。而通过将频数分布表中的频率除以样本总数,就可以得到相应的相对频率,进一步转化为概率。这种转化实际上是从经验数据(频数分布)到理论模型(概率分布)的桥梁。概率分布反映了整个总体的趋势,帮助我们预测未来或未观测数据的可能性。例如,正态分布或泊松分布等经典概率分布模型,都是通过对频数分布进行数学推导与理论抽象得到的。列联表用于显示两个或多个分类变量之间的关系。通过记录每个变量的不同组合出现的频率,列联表帮助我们发现变量之间的关联性。例如,我们可以通过列联表记录不同年龄段和职业之间的关系,以了解是否存在某种相关性。列联表中的数据也是频率,与联合概率分布密切相关。联合概率分布描述的是两个或多个随机变量共同发生的概率。通过将列联表中的频率除以总样本量,我们可以得到这些变量的联合概率分布。联合概率分布不仅帮助我们从数据中得出关于变量关系的结论,还提供了预测和推断的理论依据。例如,在分析性别和职业之间的关联时,列联表可以直观地展示每个组合的频率,而联合概率分布则进一步抽象出性别和职业的联合发生概率,帮助我们进行理论推断。
二、统计图
统计资料主要的表述形式是统计表,但有时也用统计图表示。统计图比较直观地给出统计数据。统计图的绘制要求和统计表基本一致,应该具备图号、标题、单位、资料来源和必要的注释。常用的统计图有用于定类、定序尺度变量的条形图(Bar),其坐标是示意的。对于定类、定序尺度变量,一般使用直方图(Histograms)、折线图(Frequency Polygon)、圆形图(Pie)、累计图(Cumulative)和X-Y坐标图等多种。应该说明的是,条形图和直方图形状十分类似,其纵坐标都是频数。但是,直方图常用于定类、定序尺度变量,横坐标是连续的等距数量标志;条形图则是示意性的。
2.1 条形图
barplot()函数:针对类别型变量,频率分类计数
table(mtcars$carb)
counts <- table(mtcars$carb) # 针对分类变量统计计数
barplot(counts,
main="mtcars-carb", col = rainbow(3),
xlab="carb", ylab="Frequency",)
#堆砌条形图与分组条形图
counts <- table(mtcars$vs, mtcars$carb)
#counts有两组(组0,组1)
barplot(counts,
main="Grouped Bar Plot",
xlab="Carb", ylab="Frequency",
col=c("red", "yellow", "green"),
legend=rownames(counts), beside=TRUE)
2.2 直方图:hist()
直方图用于展示连续性变量频数分布图。x轴是将值域分割为一定数量的组,y轴为频数。
x <- mtcars$mpg
h <- hist(x, breaks = 12, col = "red",
xlab = "Miles Per Gallon",
main = "Histogram with normal curve and box")
xfit <- seq(min(x), max(x), length = 40)
yfit <- dnorm(xfit, mean = mean(x), sd = sd(x))
yfit <- yfit * diff(h$mids[1:2]) * length(x)
lines(xfit, yfit, col = "blue", lwd = 2)
box()
2,3 箱线图
描述了连续型变量的分布
五个数:最小值、下四分位数(.25)、中位数(.5)、上四分位数(.75),最大值。
能够判断离群点(IQR±1.5*IQR以外的值,IQR=四分位距,即上四分位数与下四分位数的差值。若数据点未达到计算范围两端,则由这些数据点的高值和低值(不包括离群值)来确定须线。
mtcars$cyl.f <- factor(mtcars$cyl,
levels=c(4,6,8),
labels=c("4","6","8"))
mtcars$am.f <- factor(mtcars$am,
levels=c(0,1),
labels=c("auto","standard"))
#上述将两个数值型变量转换为因子型
boxplot(mpg ~ am.f *cyl.f,
data=mtcars,
varwidth=TRUE,
col=c("gold", "darkgreen"),
main="MPG Distribution by Auto Type",
xlab="Auto Type")
2.4 点图
dotchart(x,label=)`函数
dotchart(mtcars$mpg,labels=row.names(mtcars),
cex=.7,
main="Gas Mileage for Car Models",
xlab="Miles Per Gallon")
#上面是个简单的点图;下面来绘制个经排序、分组,着色后精美的点图
x <- mtcars[order(mtcars$mpg),]
x$cyl <- factor(x$cyl)
#转变为因子型,为分组做准备
x$color[x$cyl==4] <- "red"
x$color[x$cyl==6] <- "blue"
x$color[x$cyl==8] <- "darkgreen"
#上三行代码为每个类别记录为一种颜色,单设一列,为后面着色做准备
dotchart(x$mpg,
labels = row.names(x),
cex=.7,
pch=19,
groups = x$cyl,
gcolor = "black",
color = x$color,
main = "Gas Mileage for Car Models\ngrouped by cylinder",
xlab = "Miles Per Gallon")
2.5 线图
通过使用lines()函数,可以在同一个图表上绘制多条线。在绘制第一行之后,lines()函数可以使用一个额外的向量作为输入来绘制图表中的第二行。
# Create the data for the chart.
v <- c(7,12,28,3,41)
t <- c(14,7,6,19,3)
# Give the chart file a name.
png(file = "line_chart_2_lines.jpg")
# Plot the bar chart.
plot(v,type = "o",col = "red", xlab = "Month", ylab = "Rain fall",
main = "Rain fall chart")
lines(t, type = "o", col = "blue")
# Save the file.
dev.off()
2.6 其他图形
茎叶图
stem(mtcars$wt,scale = 0.5)
The decimal point is at the |
1 | 5689
2 | 12356889
3 | 2222444455667888
4 | 1
5 | 334
核密度图
估计连续型变量概率分布的非参数方法。如前,正态分布概率密度曲线是有参数的(均值mean,方差sd);而核密度图仅根据数据特征估计概率密度的方法。
plot(density(x))
d=density(mtcars$mpg)
plot(d)
polygon(d,col="red",border="blue") #在下方添加实心颜色
三、总结
统计图和表是统计学中用于数据表达的两大基本工具。统计表通过组织和排列数据,帮助人们直观地看到不同数据之间的关系,而统计图则通过视觉形式,如折线图、条形图、饼图等,展示数据的趋势、分布和比例。这两者都起到简化复杂数据、增强理解的作用。随着技术是飞速发展,统计图表逐渐与数据可视化紧密结合。现代数据可视化不仅局限于静态图表,还包括动态、交互式的展示工具,如热力图、散点图和网络图等,能帮助用户实时分析、探索和互动数据。可视化使得大量数据变得更易解读,广泛应用于商业、科学、社会研究等领域,是现代数据分析和决策的重要工具。统计图和表作为可视化的基础,奠定了数据表达的核心理念,并在新时代中不断发展和创新。