R dplyr 或 purrr group_by 到向量列表

标签 r list dplyr purrr tibble

我有来自数据库的键:值对数据,例如:
年份:2012
学科:'化学'
主题:'普通化学'
主题:“一般、有机和生物化学”

incoming = tibble(field = c('year', 'discipline', 'subject', 'subject'), 
setting = c(2012, 'Chemistry', 'General Chemistry', 'General, Organic, and Biochemistry'))

我想 group_by 键,并创建一个列表,其中 values = 该组中所有值的向量,例如:
$year = 2012
$discipline = 'Chemistry'
$subject = c('General Chemistry', 'General, Organic, and Biochemistry')

我知道我可以 paste() 并将它们折叠成,比如说,一个 | 分隔的字符串,然后把它分开……但我认为可能有一个整洁的函数可以一步完成。建议?

我想它会是这样的,但我不确定在管道的末端放什么:
processed = incoming %>%
   group_by(field) %>%
   awesome_listmaker_function()

最佳答案

split(incoming$setting, incoming$field)
# $discipline
# [1] "Chemistry"
#
# $subject
# [1] "General Chemistry"                  "General, Organic, and Biochemistry"
#
# $year
# [1] "2012"

如果您一次从数据库接收多个组,那么它会变得有点复杂。

关于R dplyr 或 purrr group_by 到向量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46080187/

相关文章:

r - 使用多个ID列和值列通过pivot_longer()简化gather()

r - 如何在R中根据之前的列删除特定值

r - Pheatmap:重新排序树状图中的叶子

r - 绘制项目图(基于难度)

R按模式将一列拆分为多列

java - 未指定哪个列表实现

r - 通过无序的列组合对 tibble 行进行分组

r - 如何在 R 中使用 plot_grid() 函数绘制多个 seqplots(TraMineR 包)?

python - 从字典列表创建键集

c# - 从文件加载 TextAsset 且无法比较