美文网首页数据科学与R语言R语言与统计分析
2021-10-10 对分布进行可视化表示

2021-10-10 对分布进行可视化表示

作者: 谢俊飞 | 来源:发表于2021-10-11 00:07 被阅读0次

数据分布的可视化

对变量分布进行可视化的方法取决于变量是分类变量还是连续变量
如果仅在较小的集合内取值,那么变量就是分类变量。分类变量在R中通常保存为因子或字符向量。
要想检查分类变量的分布,可以使用条形图

1. 分类变量:直方图

ggplot(data = diamonds) +
  geom_bar(mapping = aes(x = cut))
image.png

2. 连续变量:条形图

如果可以在无限大的有序集合中任意取值,那么这个变量就是连续变量。数值型和日期时间型变量就是连续变量的两个例子。
要想检查连续型变量的分布,可以使用直方图

ggplot(data = diamonds, mapping = aes(x = carat)) +
  geom_histogram(binwidth = 0.2)
image.png
直方图对x轴进行等宽分箱,然后使用条形的高度来表示落入每个分箱的观测的数值。当然可以使用binwidth参数来设定直方图中的间隔的宽度,因为不同的分箱宽度可以揭示不同的模式。分箱越宽,展现的细节就越少,相反,分箱越细,就更多的具体细节信息。
ggplot(data = diamonds, mapping = aes(x = carat)) +
  geom_histogram(binwidth = 0.4)
image.png

如果想要在同一张图上叠加多个直方图,可以使用geom_freqploy()函数代替geom_histogram()函数,geom_freqploy()执行和geom_histogram()同样的计算过程,但是前者使用的是折线。叠加的折线远比叠加的条形更容易理解。

ggplot(data = diamonds, mapping = aes(x = carat, color = cut)) +
  geom_freqpoly(binwidth = 0.2)
image.png

但是,这种默认的外观不太适合比较,高度是有计数给出的,这就意味着,如果一组的观测数量明显少于其他组的话,就很难看出形状的差异。
为了让比较变得容易,需要改变y轴的显示内容,不在显示计数,而是显示密度。密度是对计数的标准化,这样每个频率多边形下面的面积都是1:

ggplot(data = diamonds, mapping = aes(
  x = carat, y = ..density.., color = cut)) +
  geom_freqpoly(binwidth = 0.2)
image.png

核密度曲线:

Computes and draws kernel density estimate, which is a smoothed version of the histogram. This is a useful alternative to the histogram for continuous data that comes from an underlying smooth distribution.
计算并绘制核密度估计,这是直方图的平滑版本。对于来自底层平滑分布的连续数据,这是一个有用的替代直方图。

ggplot(data = diamonds,
       mapping = aes(x = carat, fill = cut)) +
  geom_density(alpha = 0.3)
图片.png

相关文章

网友评论

    本文标题:2021-10-10 对分布进行可视化表示

    本文链接:https://www.haomeiwen.com/subject/iqncoltx.html