0

我在 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)) 
4

2 回答 2

3

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

Python

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
于 2013-07-25T11:55:52.563 回答
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
于 2013-07-25T11:33:03.267 回答