将数据帧组合到R中的特定列表中

时间:2014-10-14 19:26:16

标签: r dataframe combinations

我有两个data.frames:

data.frame.i <- data.frame(mean.sw.i,mean.rep.i,sd.sw.i,sd.rep.i,n.sw.i,n.rep.i)
data.frame.c <- data.frame(mean.sw.c,mean.rep.c,sd.sw.c,sd.rep.c,n.sw.c,n.rep.c)

我正在尝试将它们组合起来,以便所有的方法,sd和n值都在相同的列(均值,sd,n)中,但是如果它来自data.frame。我会在附加列中标记“i”(简称为“group”),对来自data.frame.c的数据标记相同。基本上我在问我们如何组合data.frames ?!

任何帮助将不胜感激!这个社区是最好的:)

1 个答案:

答案 0 :(得分:3)

结果并不完全清楚你想要的是什么,所以请提供一个可重复的例子和你想要的结果。

您可以将数据框放入列表中,使用lapply进行迭代以使名称保持一致,并使用rbind将它们组合在一起。

以下是一个小例子:

(df1 <- data.frame(x.i = 1, y.i = 2))
#   x.i y.i
# 1   1   2
(df2 <- data.frame(x.c = 3, y.c = 4))
#   x.c y.c
# 1   3   4
do.call(rbind, lapply(list(df1, df2), function(x) {
    setNames(x, sub("[.](.*)", "", names(x)))
}))
#   x y
# 1 1 2
# 2 3 4