[英]Stacked lists to one dataframe in R
I already referred all this post1 , post2 , post3 etc. So, please don't mark it as duplicate.我已经提到了所有这些post1 、 post2 、 post3等。所以,请不要将其标记为重复。
As you can see below, my list of lists has 3 levels.正如您在下面看到的,我的列表列表有 3 个级别。 (List within a list within a list).
(列表中的列表中的列表)。 Some of the lists doesn't have child list (ex:
visits
, procedures
)一些列表没有子列表(例如:
visits
、 procedures
)
I don't know how to create list of lists properly.我不知道如何正确创建列表列表。 Hence the screenshot above.
因此,上面的屏幕截图。
I would like to transform the list of lists to a data frame.我想将列表列表转换为数据框。 However, I am not able to transform it to data frame properly.
但是,我无法将其正确转换为数据框。 can you help me, please?
你能帮我吗?
Below is what I tried以下是我尝试过的
df = do.call(rbind, dataFcases) # approach 1
df= as.data.frame(t(as.data.frame(dataFcases))) #approach 2
df <- data.frame(matrix(unlist(dataFcases), nrow=length(dataFcases), byrow=T)) #approach 3
I don't know how to create sample data for 3 levels as I am new to R. Can you please help me convert this to a data frame?我不知道如何为 3 个级别创建示例数据,因为我是 R 的新手。您能帮我将其转换为数据框吗?
A dummy database:一个虚拟数据库:
for (i in c(1:6)){
c1=paste0('a',i)
c2=paste0('b',i)
assign(paste0('df',i),tibble(!!c1 := rnorm(50), !!c2 := rnorm(50)))
}
L3=list(list(df1,df2,df3),list(df4,df5),df6)
Using bind_rows
:使用
bind_rows
:
> L3 %>%
+ bind_rows(.id='df_identifier')
# A tibble: 300 x 13
df_identifier a1 b1 a2 b2 a3 b3 a4 b4 a5 b5 a6 b6
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 -0.222 -0.744 NA NA NA NA NA NA NA NA NA NA
2 1 -1.09 -0.307 NA NA NA NA NA NA NA NA NA NA
3 1 -0.520 0.160 NA NA NA NA NA NA NA NA NA NA
4 1 1.13 0.380 NA NA NA NA NA NA NA NA NA NA
5 1 -1.26 -2.17 NA NA NA NA NA NA NA NA NA NA
6 1 0.575 0.0486 NA NA NA NA NA NA NA NA NA NA
7 1 0.0447 -1.48 NA NA NA NA NA NA NA NA NA NA
8 1 -0.735 0.730 NA NA NA NA NA NA NA NA NA NA
9 1 -0.360 -0.143 NA NA NA NA NA NA NA NA NA NA
10 1 0.240 -0.245 NA NA NA NA NA NA NA NA NA NA
# ... with 290 more rows
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.