合并两列中的信息并在R中扩展数据帧

时间:2019-03-13 13:51:16

标签: r

我有一个像这样的数据框:

  n  s     b
1 2 aa  TRUE
2 3 bb FALSE
3 5 cc  TRUE

我如何通过合并一些信息来将数据框扩展为类似的内容。

    n    tags
1 2_s      aa
2 3_s      bb
3 5_s      cc
4 2_b      TRUE
5 3_b      FALSE
6 5_b      TRUE
.
.
.

看看n列现在是其原始名称和列名称以及标签作为其原始值的组合了。

1 个答案:

答案 0 :(得分:4)

我们将{s},“ b”列gather转换为'long'格式,然后执行unite

library(tidyverse)
gather(df1, key, tags, s:b) %>% 
     unite(n, n, key)
#    n  tags
#1 2_s    aa
#2 3_s    bb
#3 5_s    cc
#4 2_b  TRUE
#5 3_b FALSE
#6 5_b  TRUE

数据

df1 <- structure(list(n = c(2L, 3L, 5L), s = c("aa", "bb", "cc"), b = c(TRUE, 
 FALSE, TRUE)), class = "data.frame", row.names = c("1", "2", 
 "3"))