美国统计教授写了一个R包{quartets},还大声疾呼:统计必须配上图!

学术   科学   2024-03-18 10:57   浙江  

这篇文章介绍一个R包,名为{quartets},可以帮助我们更直观的理解为什么做统计分析必须要配上图片!


首先安装和载入相关R包: 


install.packages("quartets")
library(quartets)

# 下面的R包如果没有安装,需安装
library(ggplot2)
library(dplyr)
library(flextable)

R包get!


将使用到这个R包带有的数据集,名为anscombe_quartet,查看下概况: 


summary(anscombe_quartet)


其中x和y为两个连续变量,dataset包含四个不同的组别(数据集),这个待会再介绍。


一般来说,拿到数据之后,需要做统计描述,查看常见的统计量。下面按照dataset为组别进行统计描述,代码如下: 


anscombe_quartet %>%
  group_by(dataset) %>%
  summarize(mean_x = mean(x),
            var_x = var(x),
            mean_y = mean(y),
            var_y = var(y),
            cor_xy = cor(x, y)) %>%
  flextable()


从输出结果的第一列dataset可知,这个分组变量所包含的组别一共为4个(分别为linear, nonlinear, outlier和leverage)


从上表可知,在每一个数据集中(每一行中),x的均数,x的方差,y的均数,y的方差,以及x和y的相关系数几乎是相等的。


白纸黑字,铁证如山!


然后,我们就认为这四组数据中的x和y是一样的! 


事实真的是这样吗?! 


答案是:NO!


真相可以用作图的形式揭晓,代码如下: 


ggplot(anscombe_quartet, aes(x, y)) +
  geom_point() +
  geom_smooth(method = "lm") +
  facet_wrap(~ dataset)


令人震惊! 


相同的统计描述(上面的表格),却呈现出完全不一样的模式,这将会对后续的建模产生重大的影响!


如果这个例子还不能说服你,请看下面这个例子(更加戏剧化!)。


请出数据集datasaurus_dozen,查看下概况: 


summary(datasaurus_dozen)


这里的dataset也是一个分类变量,包含13个水平。


下面,按组别的进行统计描述,代码如下: 


datasaurus_dozen %>%
  group_by(dataset) %>%
  summarize(mean_x = mean(x),
            var_x = var(x),
            mean_y = mean(y),
            var_y = var(y),
            cor_xy = cor(x, y)) %>%
  flextable()


在不同的组别中(13个组别),x的均数,x的方差,y的均数,y的方差,以及x和y之间的相关系数,几乎也是一致的!


下面,画出按照13个水平进行分组的x-y散点图,代码如下: 


ggplot(datasaurus_dozen, aes(x, y, color = dataset)) +
  geom_point() +
  geom_smooth(method = "lm") +
  facet_wrap(~ dataset) +
  theme(legend.position = "none")


!!!


不管你服不服,反正我是服了


如果有读者想要画出其中的霸王龙作为收藏,时刻警示自己作图的重要性,可以这么做: 


ggplot(datasaurus_dozen[datasaurus_dozen$dataset == "dino",], aes(x, y)) +
  geom_point(color = "purple") +
  theme_classic()


一条紫色的霸王龙,请收下!


好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人



参考文献


https://cran.r-project.org/web/packages/quartets/index.html



公众号的线上课程

1. 《R语言和统计新手课程》

2. 《回归:从入门到进阶》


统计咨询

《服务介绍和经典合作案例》


公众号核心成员的成果发表

《SCI医学1区影响因子9分论文》


公众号核心成员担任SCI杂志Associate Editor!

《JAD杂志Associate editor》

《Frontiers in Neuroscience, Frontiers in Neurology and Frontiers in Psychiatry杂志的神经退行性病变板块》



▌本文由R语言和统计首发

▌课程相关咨询可添加R师妹微信: kefu_rstats

▌编辑:June

▌邮箱:contact@rstats.cn

▌网站:www.rstats.cn

我们致力于让R语言和统计变得简单!




R语言和统计
我们定期更新与R有关的内容,比如R编程基础,作图,实用R包的解读,统计学基础知识,前沿的统计方法,机器学习等等。
 最新文章