【问题标题】:pivot_longer with pairwise comparisons具有成对比较的 pivot_longer
【发布时间】:2019-12-16 10:00:18
【问题描述】:

我有以下数据框

> data <- 
structure(list(a = 1:2, b = c(2L, 2L), c = 1:2, d = c(1L, 4L)), row.names = c("a", 
"b"), class = "data.frame")

> data
  a b c d
a 1 2 1 1
b 2 2 2 4

我想使用 tidyverse 中的 pivot_longer 以长格式进行所有成对比较

结果应该是这样的

compA  compB    value
     a      a      1
     a      b      2
     b      a      2
     b      b      2
     c      a      1
     c      b      2
     d      a      1
     d      b      4

我试过了:

   data %>% pivot_longer(cols=everything(),names_to=c("compA","compB"),values_to="value")

Error: If you supply multiple names in `names_to` you must also supply one of `names_sep` or `names_pattern`.

如何使用 tidyverse pivot_longer 获得所需的输出? 谢谢

【问题讨论】:

    标签: r tidyverse


    【解决方案1】:

    将行名添加为列,然后使用pivot_longer

    library(tibble)
    library(tidyr)
    
    data %>%  rownames_to_column('row') %>% pivot_longer(cols = -row)
    
    #  row   name  value
    #  <chr> <chr> <int>
    #1 a     a         1
    #2 a     b         2
    #3 a     c         1
    #4 a     d         1
    #5 b     a         2
    #6 b     b         2
    #7 b     c         2
    #8 b     d         4
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 2012-01-25
      • 2022-01-04
      • 1970-01-01
      相关资源
      最近更新 更多