首页 > 解决方案 > 计算 2 个数据帧中变量之间的相关性

问题描述

我正在尝试计算以下国家与美国的相关性。我有一个相对较大的数据集,在我的第一个 df 中有 80 多个变量和 3000 多个观察值,如下所示,所以我尝试使用 R 来自动化它而不是使用 excel。

我正在尝试计算第一个 df 中的国家(即德国、意大利、日本等)与第二个 df 中的美国的相关性。所以它应该去德国-美国,意大利-美国,日本-美国等等。

不太确定我应该如何开始 - 我应该循环第一个表中的每一列以与第二个表中的 USA 相关联吗?非常感谢您的帮助。

谢谢!

df1

日期 德国 意大利 日本 更多国家...
01-01-2020 1000 200 2304 更多数字...
01-02-2020 2000 389 2098 更多数字...

不断地

df2

日期 美国
01-01-2020 500
01-02-2020 600

不断地

标签: r

解决方案


像这样的东西应该可以解决问题:

library(dplyr)

df1 <- 
  tibble(
    date = 2001:2010,
    Germany = runif(10),
    Italy = runif(10),
    Japan = runif(10)
  )

df2 <-
  tibble(
    date = 2001:2010,
    USA = runif(10)
  )

df.cor <-
  df1 %>%
  summarise(across(-one_of('date'), ~ cor(.x, df2$USA)))

df.cor

注意:您必须确保 和 之间的日期df1一致df2。您可以使用连接功能(例如left_join)来确保这一点


推荐阅读