有没有办法在合并成千上万个数据帧的同时在R中创建重复的列?

时间:2019-05-31 00:13:19

标签: r dataframe merge

我需要按日期将R中的约19000个数据帧合并,然后再与另外一个数据帧合并。我需要将数据放在单独的列中,以执行一个循环,该循环具有针对19000个数据帧中每个数据帧的回归建模。

我尝试使用merge命令,但是所有数据框共享相同的列“ DATE”和“ RET”,并且merge命令不允许重复超过3个,因为它仅限于名称本身,即名称以.x结尾,名称以.y结尾。我希望列由它们来自的数据集编号。例如,我希望第一列中有“ DATE”,并且“ RET1”,“ RET2”和“ RET3”等等,直到19000左右。我还尝试过找出如何通过对所有列进行编号来对RET1,RET2等进行重命名,但是我也找不到解决方案。

这是按列重命名名称的失败:

for (j in 1:19938){
  colnames(HPR_Split_New[[j]]) <- c("DATE",j)
}

这是将所有数据库合并在一起的失败:

merged.data.frame = Reduce(function(...) merge(..., by=c('DATE'), all=T), HPR_Split_New)

对于重命名失败,我希望将列名重命名为RET1,RET2等,但是代码实际上什么也没做。

对于合并失败,它说重复太多,无法合并了。这是错误之一:

47: In merge.data.frame(..., by = c("DATE"), all = T) :
  column names ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’, ‘RET.x’, ‘RET.y’ are duplicated in the result"

请帮助我。我以前从未使用过R,并且在组合这些数据帧方面停留了一周以上。

0 个答案:

没有答案