【问题标题】:Concatenate tibbles with different columns用不同的列连接小标题
【发布时间】:2020-12-18 16:23:14
【问题描述】:

我想连接小标题,

  1. 常见的列很少
  2. 同名但值不同的几列
  3. 一个不同的列

我在下面创建了一个示例,有人可以创建所需的小标题

谢谢

library(tidyverse)

# common columns in both tibble
x <- c(1, 2, 3)
y <- c(2, 3, 4)

# common column name and different value for each tibble
v <- c(15, 10, 20)
# specific column to tibble
t_a <- c(4, 5, 6)

tbl_a <- tibble(x, y, v, t_a)


# common column name and different value for each tibble
v <- c(7, 11, 13)
# specific column to tibble
t_b<- c(9, 14, 46)

tbl_b <- tibble(x, y, v, t_b)


# concatenate tbl such output looks like this
x <- c(1, 2, 3, 1, 2, 3)
y <- c(2, 3, 4, 2, 3, 4)

v <- c(15, 10, 20, 7, 11, 13)

t <- c(4, 5, 6, 9, 14, 46)

name <- c("a", "a", "a", "b", "b", "b")

# desired output
tbl <- tibble(x, y, v, t, name)

【问题讨论】:

  • 我的错!我已经更正了,谢谢

标签: r tidyverse


【解决方案1】:

在这里,我们可以将数据集绑定在一起,使用pivot_longer

library(dplyr)
library(tidyr)
bind_rows(tbl_a, tbl_b) %>% 
  pivot_longer(cols = c(t_a, t_b), names_to = c('.value', 'name'), 
     names_sep="_", values_to = 't', values_drop_na = TRUE)

-输出

# A tibble: 6 x 5
#     x     y     v name      t
#  <dbl> <dbl> <dbl> <chr> <dbl>
#1     1     2    15 a         4
#2     2     3    10 a         5
#3     3     4    20 a         6
#4     1     2     7 b         9
#5     2     3    11 b        14
#6     3     4    13 b        46

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-12
    • 2016-07-21
    • 2017-10-08
    • 2021-06-07
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多