使用R中的fromJSON时如何处理NaN

8

我想在R中使用fromJSON函数读取给我的JSON文件,然而这个文件里包含了NaN,导致我无法正确地读取它。

以下是出现的错误:

Error in feed_push_parser(buf) : 
  lexical error: invalid char in json text.

有人知道如何在将json文件读入R时读取NaN值吗?

你的命令是什么? - user3710546
你尝试过使用jsonlite吗? - timelyportfolio
2
我遇到了同样的问题,但是 jsonlite 对我没有用,但是 RJSONIO 有用。 - cbhyphen
http://stackoverflow.com/questions/38493318/error-in-reading-json-file-by-using-fromjson-in-r/38493510#38493510 - hrbrmstr
2个回答

2

正如评论中提到的,RJSONIO 可以处理 NaN。默认情况下,NaN 值将被排除在外。如果您想要包括 NaN 值,可以通过 nullValue 将 NaN 值设置为 NA。

示例代码 - 将 NaN 替换为 NA

library(RJSONIO)

json_imported <- fromJSON(content,nullValue=NA)

'content' 的值是 JSON 内容。根据 RJSONIO 文档,“这可以是文件的名称或内容本身作为字符字符串。我们将在不久的将来添加对连接的支持。”


1
我遇到了类似的问题。为了解决这个问题,您可以尝试以下方法之一,因为这对我有用。 i)在np++中打开JSON文件,并将任何值为NaN的值替换为“NA”(带引号)。否则,R会将NaN误解为数字值,而期望为“NA”的字符型。通过将NaN替换为“NA”,R将“NA”读取为字符型。 ii)将JSON文件转换为csv,并使用read.csv()命令在R中加载csv文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接