【问题标题】:Function for multiple correlation in R [duplicate]R中的多重相关函数[重复]
【发布时间】:2015-10-20 10:28:12
【问题描述】:

在R中,是否可以找到多重相关矩阵?

任何可用的包/内置功能?

是否可以在 cor() 中指定相关顺序?

【问题讨论】:

  • @Richard Scriven 你能指定如何在 r 中的 cor() 中添加顺序吗?以及如何找到多重相关性?

标签: r correlation


【解决方案1】:

基础 R 函数 cor() 产生一个多重相关矩阵。

其输出中变量的顺序将模仿它们在您应用它的数据框中的顺序,因此请排列您的数据框,然后应用cor()。这是一个在dplyr 中使用管道的示例,因此您实际上不会修改存储的数据框:

df <- data.frame(x = seq(10), y = rev(seq(10)), z = seq(10))
df %>%
    select(z, y, x) %>% # Use select() to reorder variables in df
    cor(.)

结果:

   z  y  x
z  1 -1  1
y -1  1 -1
x  1 -1  1

【讨论】:

  • 这里真的需要dplyr吗?我们不能只是cor(df) 吗?或者cor(df[c("z", "y", "x")]),如果你愿意?
  • 不,没必要,就在我的头上。您的第二个选项也可以减少麻烦。
  • 没关系,总的来说,这是一个不错且紧凑的解决方案。
  • 如果我没看错,不就是单相关函数吗?
  • @ulfelder cor() 函数产生零阶相关,即 z 上的 z、y 上的 z、x 上的 z、z 上的 y、y 上的 y 等。但我想要一阶相关, x&y 上的 z、z&x 上的 y 和 z&y 上的 x 组合。这可能吗?
猜你喜欢
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 2017-01-31
相关资源
最近更新 更多