用于识别变量之间关系的 R 包

机器算法验证 r 数据可视化 相关性 探索性数据分析
2022-03-13 00:29:20

有没有可以用来探索变量之间是否存在关系的 R 包?

通常,当我在寻找模式时,我会先查看相关性,然后再查看构面图。然后我手动对数据中的变量应用一些转换。我想知道我是否可以通过 R 包加速这个过程。

4个回答

如果您只想快速了解数据集中的变量是如何相关的,请查看pairs() 函数,甚至更好的是psych 包中的pairs.panels() 函数。我在这里写了一些关于pairs 函数的内容

使用pairs() 或psych::pairs.panels() 函数很容易制作散点图矩阵。

pairs.panels(iris[-5], bg=c("blue","red","yellow")[iris$Species], pch=21,lm=TRUE)

在此处输入图像描述

AFAIK,不。更准确地说,我不知道有一个 R 包可以通过单个函数调用为您完成所谓的探索性数据分析(EDA) 的一部分——我正在考虑重新表达启示方面在 Hoaglin、Moseller 和 Tukey,了解稳健和探索性数据分析中讨论。尤其是 Wiley-Interscience,1983 年。

然而,在 R 中存在一些不错的替代方案,尤其是关于数据的交互式探索(看这里有趣的讨论:交互式数据可视化何时有用?)。我能想到

  • iplots或其继任者Acinonyx,用于交互式可视化(允许刷亮、链接绘图等)(其中一些功能可以在latticist包中找到;最后,rgl非常适合 3D 交互式可视化。)
  • ggobi用于交互式和动态显示,包括数据缩减(多维缩放)和投影追踪

这仅用于交互式数据探索,但我会说这是 EDA 的精髓。无论如何,在探索数值变量之间的双变量或高阶关系时,上述技术可能会有所帮助。对于分类数据,vcd包是一个不错的选择(可视化和汇总表)。然后,我会说veganade4包首先用于探索混合数据类型的变量之间的关系。

最后, R 中的数据挖掘呢?(在Rseek上试试这个关键字

查看scagnostics包装和原始研究论文这对于双变量关系非常有趣。对于多元关系,投影追踪是非常好的第一步。

不过,一般而言,领域和数据专业知识将缩小和改进您快速调查关系的方法。

PerformanceAnalytics中的chart.Correlation函数提供了与 @Stephen Turner 提到的 plot.pairs 函数类似的功能,除了它使用黄土函数而不是线性模型进行平滑,以及相关性的重要性。

library(PerformanceAnalytics)
chart.Correlation(iris[-5], bg=c("blue","red","yellow")[iris$Species], pch=21)

图表