在 R 中读取无穷大的 JSON

标签 r json infinity

我正在寻找一种方法来读取包含无限值的矩阵,该矩阵在 JSON 文件中编码到 R 中。我目前正在使用 RJSONIO 库来实现此目的(rjson 和 rjsonlite 在我的案例)。

一个最小的说明性示例如下: (编辑:这个例子不够通用,我正在寻找的方法也可以处理 R 中未生成的非有限值)

> library("RJSONIO")

> M <- matrix(c(1:5, Inf), ncol=2, byrow=TRUE); M

     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5  Inf

> fromJSON(toJSON(M))

[[1]]
[1] 1 2

[[2]]
[1] 3 4

[[3]]
[[3]][[1]]
[1] 5

[[3]][[2]]
NULL

执行此代码还会产生一条警告,指出非有限值可能无法在 JSON 中正确表示。

我想知道是否有解决方法可以在文件读取过程中正确表示无限值?我可以接受文件在读取后存储为列表,但不能接受最后一个元素不是数字向量。

请注意,我并不是真正在寻找一种在读取整个文件后转换非数字向量的后处理方法:我已经有了这个,但我正在使用的实际文件非常大并且嵌套,所以我不想重新运行它们。

最佳答案

有几个(较新的)JSON 库可供选择 - 我使用了一点 jsonlite ,它在这里没有问题:

R> library(jsonlite)
R> M <- matrix(c(1:5, Inf), ncol=2, byrow=TRUE); M
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5  Inf
R> fromJSON(toJSON(M))
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5  Inf
R> 

关于在 R 中读取无穷大的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59009232/

相关文章:

JavaScript 循环遍历 Json 日期

java - 在 Java 中使用 Double.POSITIVE_INFINITY 寻找最小值

r - shinyapps.io Web 应用程序中数据目录的正确位置

r - ggplot geom_text字体大小控制

python - 使用数据表和 flask 进行服务器端处理

javascript - 当我在 JavaScript 中计算 1000^1000 时如何避免无穷大的结果

fortran - Fortran 中的无穷大

r - R : how to scrape tables after specific Title 中的 Tabulizer 包

r - 如何在 R 中正确绘制 ICE?

jquery - 如何使用 jQuery 访问此 JSON 返回中的变量