如何在R中通过向量名称列表实现批量cbind合并?
批量通过向量名称列表合并为数据框的方法
直接用mget()配合do.call()就能搞定,这是R里处理这类批量操作的常规手段:
mget(name_list)会根据你提供的名称列表,把对应的向量全部取出来,返回一个以向量名为元素名的列表do.call(cbind, ...)会把列表里的所有向量按列合并
示例代码:
# 模拟你的向量(实际使用时直接用已有的向量即可) x3 <- 1:5 x47847 <- 6:10 x930233 <- 11:15 name_list <- c("x3","x47847","x930233") # 合并成数据框 merged_df <- as.data.frame(do.call(cbind, mget(name_list)))
如果习惯用tidyverse工具链,也可以用dplyr的bind_cols(),代码更简洁:
library(dplyr) merged_df <- bind_cols(mget(name_list))
注意:如果你的向量不在全局环境里,可以给mget()加env参数指定环境,比如mget(name_list, env = my_environment)。
内容的提问来源于stack exchange,提问作者Apook
相关产品推荐
相关产品推荐

