首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用来自R的子节点写入json

如何使用来自R的子节点写入json
EN

Stack Overflow用户
提问于 2012-10-10 20:03:15
回答 3查看 6.6K关注 0票数 18

我想把一个R转换成一个data.frame对象,以便用它来准备d3.js的数据可视化。我发现了很多关于如何将JSON放入R的问题,但很少有关于如何将数据从R写入JSON的问题。

一个特别的问题是,JSON文件需要使用因子进行嵌套,即data.frame的列。我认为从嵌套列表编写代码可能是一种解决方案,但我已经无法从data.frame创建嵌套列表:(

我准备了一个例子:

这表示我的data.frame (称为"MyData")。

代码语言:javascript
复制
ID  Location Station   Size Percentage
1     Alpha    Zeta    Big       0.63
2     Alpha    Zeta Medium       0.43
3     Alpha    Zeta  small       0.47
4     Alpha    Yota    Big       0.85
5     Alpha    Yota Medium       0.19
6     Alpha    Yota  small       0.89
7      Beta   Theta    Big       0.09
8      Beta   Theta Medium       0.33
9      Beta   Theta  small       0.79
10     Beta    Meta    Big       0.89
11     Beta    Meta Medium       0.71
12     Beta    Meta  small       0.59

现在,我想将其转换为类似于以下有效的json格式,包括子节点:

代码语言:javascript
复制
   {
 "name":"MyData",
 "children":[
   {
     "name":"Alpha",
     "children":[
        {
           "name":"Zeta",
           "children":[
              {
                 "name":"Big",
                 "Percentage":0.63
              },
              {
                 "name":"Medium",
                 "Percentage":0.43
              },
              {
                 "name":"Small",
                 "Percentage":0.47
              }
           ]
        },
        {
           "name":"Yota",
           "children":[
              {
                 "name":"Big",
                 "Percentage":0.85
              },
              {
                 "name":"Medium",
                 "Percentage":0.19
              },
              {
                 "name":"Small",
                 "Percentage":0.89
              }
           ]
        }
    ]   
},
    {
     "name":"Zeta",
     "children":[
        {
           "name":"Big",
           "Percentage":0.63
        },
        {
           "name":"Medium",
           "Percentage":0.43
        },
        {
           "name":"Small",
           "Percentage":0.47
        }
     ]
  },
  {
     "name":"Yota",
     "children":[
        {
           "name":"Big",
           "Percentage":0.85
        },
        {
           "name":"Medium",
           "Percentage":0.19
        },
        {
           "name":"Small",
           "Percentage":0.89
        }
     ]
  }
  ]
 }

如果有人能帮助我,我将不胜感激!谢谢

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12818864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档