Существует много сообщений о преобразовании списка фреймов данных в один фрейм данных (, например, здесь ). Тем не менее, мне нужно сделать это, сохраняя информацию из какого списка
результирующие строки, то есть мне нужно сохранить индекс исходного списка. Если список безымянный, мне нужен только индексный номер, а если список назван, мне нужно сохранить имя исходного элемента списка. Как я могу это сделать?
С данными, как показано ниже:
foo <- list(data.frame(x=c('a', 'b', 'c'),y = c(1,2,3)),
data.frame(x=c('d', 'e', 'f'),y = c(4,5,6)))
Мне нужен такой вывод:
index x y
1 1 a 1
2 1 b 2
3 1 c 3
4 2 d 4
5 2 e 5
6 2 f 6
в то время как с именованными элементами списка:
foo <- list(df1 = data.frame(x=c('a', 'b', 'c'),y = c(1,2,3)),
df2 = data.frame(x=c('d', 'e', 'f'),y = c(4,5,6)))
вывод будет:
index x y
1 df1 a 1
2 df1 b 2
3 df1 c 3
4 df2 d 4
5 df2 e 5
6 df2 f 6