cbind data.frames 的两个列表到一个新列表
cbind two lists of data.frames to a new list
我有两个 data.frames 的列表。两个列表的长度相同,并且在相应的列表元素中包含拟合 data.frames。
所以场景看起来像这样
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]]))
但我想知道他们是否是更好的解决方案。
您可以使用Map
Map(cbind, a, b)
您可以使用 mapply
:
mapply(cbind, a, b, SIMPLIFY=F)
我有两个 data.frames 的列表。两个列表的长度相同,并且在相应的列表元素中包含拟合 data.frames。 所以场景看起来像这样
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]]))
但我想知道他们是否是更好的解决方案。
您可以使用Map
Map(cbind, a, b)
您可以使用 mapply
:
mapply(cbind, a, b, SIMPLIFY=F)