r - 将数据框中的特定列转换为 R 中的字典/列表
问题描述
假设我有一个数据框:
a <- c('zz','yy','xx','qq','pp')
b <- c('1','2','2','3','1')
ab <- data.frame(a,b)
这给出了:
a b
1 zz 1
2 yy 2
3 xx 2
4 qq 3
5 pp 1
我想把它变成 R 中的字典/嵌套列表。我可以想象在 python 中,结果如下所示:
ab_dict = {'1':["zz","pp"],'2':["yy","xx"],'3':["qq]}
这如何在 R 中实现?我希望结果在之后的 for 循环中是可迭代的。
我在stackoverflow上找不到任何解决方案,所以如果有人问过类似的问题,我深表歉意!
解决方案
一个选项是split
'b' 到 'ab' 列并使用toJSON
fromjsonlite
library(jsonlite)
toJSON(split(as.character(ab$a), ab$b))
#{"1":["zz","pp"],"2":["yy","xx"],"3":["qq"]}
推荐阅读
- mailmerge - 邮件合并模板:局部变量在 if..else 中未获得值
- woocommerce - 删除特定运输方式的“下订单”按钮,除了 Order-Pay 端点
- electron - 如何在渲染器中处理来自应用程序菜单的事件
- android - lateinit 属性 NotaViewModel 尚未初始化错误
- javascript - 需要帮助为 Twitch 上的聊天框小部件设置自定义代码
- c# - EF Core 5 表达式“x.FavePlugins”在“包含”操作中无效,因为它不代表属性访问:“t => t.MyProperty”
- python - 使用拟合值创建时间序列的最佳拟合线
- javascript - 猫鼬一对多
- javascript - 不使用IMG标签动态调整图片大小
- python - 从您找到它们的文件夹中按顺序重命名多个文件。如果可能,使用名称列表重命名