如何组合R中的长数据帧列表

时间:2017-04-28 10:25:03

标签: r

我有很长的数据帧列表(例如,100s),名称为d1,d2,d3,... d100。我想把它们组合成r作为df< - cbind(d1:d100)?是否有任何有效的方法来组合它们除了写所有列名称?

1 个答案:

答案 0 :(得分:3)

您可以先将所有数据框打包到一个列表中,然后使用cbind do.call将它们打包。在这里,我假设您的数据帧被称为d1,d2,...并且它们都具有相同的行数:

## Sample data:
d1 <- data.frame(A = 1:3, B = 4:6)
d2 <- data.frame(C = 7:9)
d3 <- data.frame(D = 10:12, E = 13:15)

## Put them into a list:
myList <- lapply(1:3, function(ii){get(paste0("d", ii))})

## Combine them into one big data frame:
myDataFrame <- do.call('cbind', myList)

myDataFrame 
#   A B C  D  E
# 1 1 4 7 10 13
# 2 2 5 8 11 14
# 3 3 6 9 12 15