gpt4 book ai didi

r - 将具有不等长元素的列表转换为 R 中的两列数据框(首选 dplyr)

转载 作者:行者123 更新时间:2023-12-05 08:36:28 26 4
gpt4 key购买 nike

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

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

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

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

Value     List
1 A
2 A
10 B
100 C
......

所以我知道我可以使用一系列 rbinds 来做到这一点:

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

而且我可能可以使用循环或 lapply 来清理它……但似乎应该有更直接的方法来实现它!

如有任何帮助,我们将不胜感激。

最佳答案

我们可以使用base R中的stack

stack(myList)

-输出

   values ind
1 1 A
2 2 A
3 3 A
4 10 B
5 20 B
6 30 B
7 40 B
8 100 C
9 200 C
10 300 C
11 400 C
12 500 C

关于r - 将具有不等长元素的列表转换为 R 中的两列数据框(首选 dplyr),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68855260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com