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

合并来自两列的信息并在R中扩展数据帧,r,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列现在是如何组合其原始名称和列名的,标记是它们的原始值。我们将“s”、“b”列收集为“长”格

我有这样一个数据框:

  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列现在是如何组合其原始名称和列名的,标记是它们的原始值。

我们将“s”、“b”列收集为“长”格式,然后进行合并

数据
您希望将数据从宽格式转换为长格式。选中此项@user7729135 unite将指定的列“n”和“key”连接到新列“n”中。默认情况下,sep=u,因此不必指定它
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"))