在R中如何合并tibble?多个同列不同长度tibble合并方法

相同变量tibble纵向合并方案
三个tibble变量完全一致、仅行数不同的场景属于纵向行拼接,可通过以下两种常用方式实现:
方法1:使用dplyr包的bind_rows()(优先推荐)
该函数是tidyverse生态专门为数据框/tibble设计的行合并函数,对变量兼容性更好,语法简洁:
# 加载dplyr包 library(dplyr) # 假设三个tibble分别命名为tib1、tib2、tib3 merged_tib <- bind_rows(tib1, tib2, tib3) # 若多个tibble已存储在列表中,可直接传入列表参数 tib_list <- list(tib1, tib2, tib3) merged_tib <- bind_rows(tib_list)
方法2:使用Base R自带的rbind()
不需要加载第三方包即可使用,适合轻量场景:
merged_tib <- rbind(tib1, tib2, tib3)
注意:
rbind()对变量类型校验更严格,若多个tibble同列的变量类型存在差异(比如一列在第一个tibble是因子类型,在第二个是字符类型)会直接报错;bind_rows()会自动尝试做兼容转换,更适配tibble的使用场景。
内容的提问来源于stack exchange,提问作者Saif Jawaad
相关产品推荐
相关产品推荐

