【问题标题】:Row-wise correlation of two columns两列的逐行相关
【发布时间】:2021-03-05 12:08:56
【问题描述】:

我是 R 新手,想计算两列(A 和 B)中值的逐行相关性,最好在第三列 (AxB) 中列出相关的相关系数。

Example:
| A | B | AxB|
|:--|:--|:---|
| 1 | 2 |    |
| 2 | 3 |    | 
| 3 | 5 |    |

数据集还包含缺失值 (NA),这也应在相关性中产生 NA。

提前感谢您的帮助!

【问题讨论】:

  • 2 个值的相关性始终为 NA。

标签: r


【解决方案1】:

直接回答您的问题:

dat <- data.frame(A = 1:3, B = c(2, 3, 5))

library(dplyr)

    dat %>% 
      rowwise() %>% 
      mutate(AxB = cor(A, B)) %>% 
      ungroup()

# A tibble: 3 x 3
      A     B   AxB
  <int> <dbl> <dbl>
1     1     2    NA
2     2     3    NA
3     3     5    NA

由于我们无法从 2 个值中建立相关性,因此结果将始终为 NA。

【讨论】:

    【解决方案2】:

    我们可以使用map2

    library(purrr)
    library(dplyr)
    dat %>%
      mutate(AxB = map2_dbl(A, B, cor))
    

    【讨论】:

      猜你喜欢
      • 2021-03-07
      • 1970-01-01
      • 2018-05-16
      • 2014-12-05
      • 2015-04-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      相关资源
      最近更新 更多