R 如何合并列表中的元素数据帧?

R 如何合并列表中的元素数据帧?,r,R,考虑下面的列表 lst <- list() lst[[1]] <- data.frame(category = c(1:10), freq = rnorm(10)) lst[[2]] <- data.frame(category = seq(4,26,2), freq = rnorm(12)) lst[[3]] <- data.frame(category = 2:8, freq = rnorm(7)) 这个问题经常被问到。简单搜索“[r]合并数据.frames”就会得

考虑下面的列表

lst <- list()
lst[[1]] <- data.frame(category = c(1:10), freq = rnorm(10))
lst[[2]] <- data.frame(category = seq(4,26,2), freq = rnorm(12))
lst[[3]] <- data.frame(category = 2:8, freq = rnorm(7))

这个问题经常被问到。简单搜索“[r]合并数据.frames”就会得到答案。如果我添加lst[[4]]@aguiar,这很奇怪-我不知道发生了什么,但可能与这个问题有关:作为一种解决方法,你可以在手前重命名你的列:因为我在seq_alonglst namelst[[I]]中,谢谢@eddi,这很有效!
category  freq.1      freq.2     freq.3
    1   1.2496154         NA         NA
    2  -1.3537722         NA -1.3257535
    3  -0.3976305         NA  0.5761957
    4   0.7721428 -0.2360636 -1.0953490
    5   0.7653834         NA  0.9037617
    6   0.2192559 -0.2543082 -1.6640824
    7   0.3400192         NA -1.2961707
    8  -0.8457081 -0.7431021  0.9321560
    9  -1.2132615         NA         NA
   10   1.8387899  0.8342264         NA
   12          NA -0.5409164         NA
   14          NA  0.1638546         NA
   16          NA  0.6420546         NA
   18          NA -0.5110151         NA
   20          NA -0.8262690         NA
   22          NA  1.2406462         NA
   24          NA -1.1497992         NA
   26          NA -0.4338807         NA
Reduce(function(x, y) merge(x, y, by = 'category', all = TRUE), lst)