json - 从 R 中的加载对象创建 json 字符串

标签 json r

执行因子分析后,加载对象如下所示:

Loadings:
    Factor1 Factor2
IV1  0.844  -0.512 
IV2          0.997 
IV3         -0.235 
IV4         -0.144 
IV5  0.997         

               Factor1 Factor2
SS loadings      1.719   1.333
Proportion Var   0.344   0.267
Cumulative Var   0.344   0.610

我可以使用 print(fit$loadings[,1:2]) 来定位因素本身得到以下内容。

       Factor1      Factor2
IV1 0.84352949 -0.512090197
IV2 0.01805673  0.997351400
IV3 0.05877499 -0.234710743
IV4 0.09088599 -0.144251843
IV5 0.99746785  0.008877643

我想创建一个类似于以下内容的 json 字符串。

"loadings": {
    "Factor1": {
        "IV1": 0.84352949, "IV2":0.01805673, "IV3":0.05877499, "IV4": 0.09088599, "IV5": 0.99746785
    },
    "Factor2": {
        "IV1": -0.512090197, "IV2": 0.997351400, "IV3": -0.234710743, "IV4": -0.144251843, "IV5": 0.008877643
    }
}

我已经尝试使用 unclass() 访问各个属性,希望我可以循环并将它们放入字符串中,但没有任何运气(使用 loads <- loadings(fit)<- names(unclass(loads)) 名称显示为“null” )

最佳答案

只是附议@GSee 的评论 (+1) 和@dickoa 的回答 (+1),并附上一个更接近的例子:

  1. 为可重现的示例创建一些演示数据(您还应该在所有问题中提供一个):

    > fit <- princomp(~ ., data = USArrests, scale = FALSE)
    
  2. 加载RJSONIO/rjson包:

    > library(RJSONIO)
    
  3. 转换您的数据以满足您的需求:

    > res <- list(loadings = apply(fit$loadings, 2, list))
    
  4. 返回 JSON:

    > cat(toJSON(res))
    {
     "loadings": {
     "Comp.1": [
     {
     "Murder": -0.041704,
    "Assault": -0.99522,
    "UrbanPop": -0.046336,
    "Rape": -0.075156 
    } 
    ],
    "Comp.2": [
     {
     "Murder": 0.044822,
    "Assault": 0.05876,
    "UrbanPop": -0.97686,
    "Rape": -0.20072 
    } 
    ],
    "Comp.3": [
     {
     "Murder": 0.079891,
    "Assault": -0.06757,
    "UrbanPop": -0.20055,
    "Rape": 0.97408 
    } 
    ],
    "Comp.4": [
     {
     "Murder": 0.99492,
    "Assault": -0.038938,
    "UrbanPop": 0.058169,
    "Rape": -0.072325 
    } 
    ] 
    } 
    }> 
    

关于json - 从 R 中的加载对象创建 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15580954/

相关文章:

java - 使用带有继承的 Jackson 将字符串映射到对象

jquery - 获取 Json 期间禁用控件

json - 我的 JSON 解码器不工作,我不确定为什么

r - 在 Shiny 中对输入小部件进行分组

在stata和R中读取带有大变量的stata文件

json - 使用关键 HAWQ 的数据即服务

html - 如何将 JSON 对象转换为 HTML 表格?

r - 相同地考虑往返

r - 合并三个保存冗余信息的变量

r - R 中的 Wordcloud 使用不同的功能