样品
A=data.frame("id"=c(1:10))
B=data.frame("id"=c(7:16))
C=data.frame("id"=c(-10:-1))
mylist=c(A,B,C)
我想要的是一个将这三个data.frames组合为一个列表的列表:
WANT = data.frame("id"=c(1:10,7:16,-10:-1),
dataID=c(rep("A",10),rep("B",10),rep("C",10)))
如果假设我有list
,其中包含一堆数据帧(这就是给我数据的方式)。我想将它们放入一个非常大的数据框/集合中,例如“ WANT”,它使用列表中的数据集名称作为dataID。我仅用几个例子就可以做到这一点,例如A,B,C,但是我只有100个,我想知道如何提取列表中的数据帧并制作一个像“ WANT”示例的高文件。>
答案 0 :(得分:1)
您可以将dataID添加到单个数据帧中,然后将它们绑定在一起:
编辑:经过澄清,这是一种新方法 listNAMES =字母[1:3]
library(tidyverse)
tibble(mydata = list(A, B, C),
dataID = listNAMES) %>%
unnest()
# A tibble: 30 x 2
names id
<chr> <int>
1 1 1
2 1 2
3 1 3
4 1 4
5 1 5
6 1 6
7 1 7
8 1 8
9 1 9
10 1 10
# ... with 20 more rows