r - 如何将数据框行分组到列表中?
问题描述
我有一个数据框df:
a b
A 1
A 2
A 5
B 5
B 4
C 6
我想按第一列分组并将第二列作为行中的列表:
a b
A [1,2,5]
B [5,4]
C [6]
是否可以使用 groupby 在 R 中执行此操作?
解决方案
如果我们想在按 'a' 分组后创建一个list
列使用fromI
aggregate
base R
aggregate(b ~ a, df, FUN = I)
如果是字符串,那么paste
'b'的元素
aggregate(b ~ a, df, FUN = toString)
如果它需要以paste
特定格式表示,即[1, 2, 5]
aggregate(b ~ a, FUN = function(x) sprintf("[%s]", toString(x)))
,dplyr
我们可以做
library(dplyr)
df %>%
group_by(a) %>%
summarise(b = list(b))
推荐阅读
- javascript - 调用包含来自另一个函数的承诺的函数
- python - 如何使用 Pandas 根据另一列的值将两列相加
- splunk - Splunk:使用多个统计信息搜索 SPL
- java - 为什么这个 Java 函数总是返回 true?
- flutter - Flutter Hive - 未处理的异常:输入“列表”
' 不是类型 'List 的子类型 ' 在类型转换中 - c# - WPF用户控件嵌套控件-从用户控件切换用户控件
- python - 使用 Python 通过 webhook 将音频发布到 Discord
- c++ - 将枚举类初始化为 null
- python - Python,Selenium“::after”在抓取时出现问题
- python - 使用 nbconvert 从 Jupyter 导出为 pdf 时,如何显示宽表的所有 DataFrame/表列?