将数据框中的特定列转换为R中的字典/列表

时间:2019-05-20 13:27:09

标签: r list dictionary

假设我有一个数据框:

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上找不到任何解决方案,因此,如果有人提出类似要求,我深表歉意!

1 个答案:

答案 0 :(得分:1)

一个选择是用'b'split {ab}列,并使用toJSON中的jsonlite

library(jsonlite)
toJSON(split(as.character(ab$a), ab$b))
#{"1":["zz","pp"],"2":["yy","xx"],"3":["qq"]}