我有一个数据帧列表:
library(dplyr)
library(magrittr)
a <- list(first = data.frame(x=runif(1), y=runif(1)),
second = data.frame(x=runif(5), y=runif(5)))
b <- list(first = data.frame(x=runif(1), y=runif(1)),
second = data.frame(x=runif(5), y=runif(5)))
a <- a %>% set_names(1:length(a))
b <- b %>% set_names(1:length(b))
c <- list(a, b)
c <- c %>% set_names(1:length(c))
我希望将两级列表名称作为新列分配给dataframe,然后将它们绑定到一个dataframe。所需的输出类似于:
x y name1 name2
.23 .43 1 1
.23 .43 1 2
.23 .43 2 1
.23 .43 2 2
其中x和y的值不是重点。我正在努力解决这个问题,因为lapply不能访问列表元素的名称。
谢谢。
发布于 2015-01-19 16:23:51
这可能会有所帮助:
library(reshape2)
library(tidyr)
library(dplyr)
res <- melt(c) %>%
group_by(variable) %>%
mutate(indx=row_number()) %>%
spread(variable, value) %>%
ungroup() %>%
select(-indx)
https://stackoverflow.com/questions/28019451
复制相似问题