【发布时间】:2015-04-18 10:46:47
【问题描述】:
我有 12 个数据框,每个包含 6 列:5 个名称相同,1 个不同。然后当我打电话给rbind() 我得到:
Error in match.names(clabs, names(xi)) :
names do not match previous names
不同的列是:“goal1Completions”。有12个goalsCompletions...它们是:“goal1Completions”、“goal2Completions”、“goal3Completions”...等等。
我能想到的最好方法是:将每个数据框中的每一列重命名为“GoalsCompletions”,然后使用“rbind()”。
有没有更简单的方法?
在 Google O 上查找此包:“gtools”。它有一个名为“smartbind”的功能。但是,在使用 smartbind() 之后,我想用“View()”查看数据框,我的 R 会话崩溃了......
我的数据(第一个数据框的例子):
date source medium campaign goal1Completions ad.cost Goal
1 2014-10-01 (direct) (none) (not set) 0 0.0000 Vida
2 2014-10-01 Master email CAFRE 0 0.0000 Vida
3 2014-10-01 apeseg referral (not set) 0 0.0000 Vida
【问题讨论】:
-
这 12 个数据集对象是否有一些名称模式,即
df1, df2, df3,...etc最好将它们放在一个列表中,然后执行 rbindlist 即。rbindlist(mget(paste0('df',1:12))) -
@akrun,是的,模式是:
Goal1_Costo,Goal2_Costo,... Goal12_Costo。如果您需要更新您的答案,请这样做。 -
@Omar_Gonzales 谢谢,更新了答案