小编Max*_*x F的帖子

将具有不等长度元素的列表转换为两列数据框

我有一个包含 3 个元素的列表,每个元素都有不同的值集和数量。我想把这个列表变成一个简单的两列数据框。

第一列是列表元素的值,第二列是列表元素本身的名称。

myList <- list(A = c(1,2,3),
               B = c(10,20,30,40),
               C = c(100,200,300,400,500))
Run Code Online (Sandbox Code Playgroud)

所以理想的结果是这样的:

Value     List
1         A
2         A
10        B
100       C
......
Run Code Online (Sandbox Code Playgroud)

所以我知道我可以通过一系列 rbind 来做到这一点:

df <-   data.frame(Value = myList[[A]],cluster = A) %>%
  rbind(data.frame(Value = myList[[B]],cluster = B)) %>%
  rbind(data.frame(Value = myList[[C]],cluster = C))
Run Code Online (Sandbox Code Playgroud)

我可能可以用循环或 lapply 来清理它......但似乎应该有一种更简单的方法来实现它!

r list dataframe dplyr

4
推荐指数
1
解决办法
390
查看次数

标签 统计

dataframe ×1

dplyr ×1

list ×1

r ×1