gpt4 book ai didi

r - 将数据帧转换为列表,同时通过键值对进行分组

转载 作者:行者123 更新时间:2023-12-02 09:33:57 25 4
gpt4 key购买 nike

假设我有一个非常简单的数据框:

DF <- data.frame(col1=c("a", "a", "b", "b"), col2=c(1, 2, 3, 4))

我怎样才能得到一个看起来像这样的列表:

$a
[1] 1 2

$b
[1] 3 4

更重要的是,这如何推广到 ab 之外的一些未知数量的组?

我首先想到我可以使用 dplyr 包中的 group_by 之类的东西,但它似乎只有在您要summarise 或类似的东西时才有用.

我认为最好的想法是使用lapply,但我不太确定如何进行分组。

如有任何建议,我们将不胜感激。

最佳答案

另一种选择是使用split

with(DF, split(col2, col1))
# $a
# [1] 1 2
#
# $b
# [1] 3 4

或者,使用索引(根据 @jorans 评论)

split(DF[[2]], DF[[1]])

或者

split(DF[, 2], DF[, 1])

关于r - 将数据帧转换为列表,同时通过键值对进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29379208/

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