创建for循环以将数据集合并到其新自身

创建for循环以将数据集合并到其新自身,r,for-loop,merge,R,For Loop,Merge,我试图创建一个for循环,该循环将首先合并两个数据集,然后迭代地将结果合并的数据集合并到另一个数据集。基本上,是将新数据集合并到先前创建的合并数据集的链 到目前为止,我已经编写了下面的代码,但由于某些原因,merge.data无法更新循环中的每个运行,因此在最后一次运行时,它似乎合并了创建它的第一次运行中的相同merge.data for(i in (length(data)-1)) { if (i == 1) { merge <- data[i] merge1 <- dat

我试图创建一个for循环,该循环将首先合并两个数据集,然后迭代地将结果合并的数据集合并到另一个数据集。基本上,是将新数据集合并到先前创建的合并数据集的链

到目前为止,我已经编写了下面的代码,但由于某些原因,merge.data无法更新循环中的每个运行,因此在最后一次运行时,它似乎合并了创建它的第一次运行中的相同merge.data

for(i in (length(data)-1)) {
if (i == 1) {
  merge <- data[i]
  merge1 <- data[i+1]
  merge.data <- merge(get(merge), get(merge1), all.x=TRUE)
} else {merge1 <- data[i+1]
        merge.data[i] <- merge(merge.data, get(merge1), all.x=TRUE)
}
}

解决了!它不优雅,但很管用

merge1 <- data[1]
merge2 <- data[2]
merge.data <- merge(get(merge1), get(merge2), all.x=TRUE)

for(i in 3:length(data)){ 
merge <- data[i]
merge.data <- merge(merge.data, get(merge), all.x=TRUE)
}

您可能需要检查Reducefunction。。。合并…,listdata1,data2,Data3如果不知道列表和列表元素的结构,很难回答您的问题。通过向我们提供dputdata.dputdata=cprb.6400.head、prb.6400.unit、prb.6800.head、prb.6800.unit的输出来提供数据列表,其中每一个实际上都是一个data.table。因此,我想获取prb.6400.head并将其合并到prb.6400.unit,然后依次将合并的数据集合并到prb.6800.head,最后将合并的数据集合并到prb.6800.unit。但我希望这是一个for循环,这样它就可以处理任意数量的data.table合并。谢谢