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)