将两个数据框列表合并为一个新的列表(使用cbind函数)

8

我有两个数据框的列表。这两个列表长度相同,并分别包含其对应列表元素中的适合的数据框。 因此,情况看起来像这样

dfa = data.frame(a=1:3, b = letters[1:3])
dfb = data.frame(x=runif(3))
a = replicate(3, dfa, simplify = FALSE)
b = replicate(3, dfb, simplify = FALSE)

一个显而易见的解决方案是:
lapply(seq_along(a), function(i) cbind(a[[i]], b[[i]]))

但我在想是否有更好的解决方案。
2个回答

16
你可以使用Map
Map(cbind, a, b)

4
你可以使用 mapply
mapply(cbind, a, b, SIMPLIFY=F)

3
Mapmapply(FUN = f, ..., SIMPLIFY = FALSE) 的一种封装方式。请查看 Map - akrun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接