如何在R中设置这个Python数据结构

时间:2013-07-25 11:26:57

标签: python r

我在Python中有以下数据结构,我想在R中设置。实现这一点的正确方法最类似于Python设置。

testing = [
        [[12,14], [4]],
        [[2,1], [5]],
        [[42,11], [13]]
    ]

编辑1

基于agstudy提出的解决方案,使用以下代码

library(rjson)

json_file <- "/Path/JSONdata.json"
json_data <- fromJSON(paste(readLines(json_file), collapse=""))

事情很有效。产生以下内容:

list(list(c(12, 14), 4), list(c(2, 1), 5), list(c(42, 11), 13)) 

2 个答案:

答案 0 :(得分:3)

这不是答案,但可能是将结构从python转换为R的一般方法。为什么不使用中间格式将python结构转换为R结构。例如,通过json格式。

import json

testing = [
    [[12,14], [4]],
    [[2,1], [5]],
    [[42,11], [13]]
]

with open("testing.json", "w") as file:
json.dump(testing, file)

- [R

你使用这样的python结果:

library(RJSONIO)
str(fromJSON("testing.json"))
List of 3
 $ :List of 2
  ..$ : num [1:2] 12 14
  ..$ : num 4
 $ :List of 2
  ..$ : num [1:2] 2 1
  ..$ : num 5
 $ :List of 2
  ..$ : num [1:2] 42 11
  ..$ : num 13

答案 1 :(得分:2)

这是什么?嵌套列表类型结构?

ll <- list( c( list(c(12,14)),4) , c(list(c(2,1)),5),c(list(c(42,11)),13))

str( ll )
List of 3
 $ :List of 2
  ..$ : num [1:2] 12 14
  ..$ : num 4
 $ :List of 2
  ..$ : num [1:2] 2 1
  ..$ : num 5
 $ :List of 2
  ..$ : num [1:2] 42 11
  ..$ : num 13

通过[[方法访问元素:

#  Second list element of first top-level list element
ll[[1]][[2]]
#[1] 4

#  First list element of third top-level list element
ll[[3]][[1]]
#[1] 42 11