我一直在尝试使用RJSONIO从此特定网址中提取数据:http://leafletjs.com/examples/us-states.js。我转到该URL并通过按CTRL + A选择那里的所有数据然后将其粘贴到记事本++中保存数据,将其保存为test.json。以下是我从那时起在R中尝试的内容:
library(RJSONIO)
json_file <- dir("test.json")
jsonIntoR <- fromJSON(readLines(json_file)[1])
我收到以下错误:
Error in fromJSON(readLines(json_file)[1]) :
error in evaluating the argument 'content' in selecting a method for function 'fromJSON': Error in file(con, "r") : invalid 'description' argument
我想将此网址的数据转换为数据框,但无法克服此错误。我尝试在此链接使用解决方案:Import JSON file from URL into R但它对我不起作用。谢谢你的帮助。
答案 0 :(得分:1)
请勿使用readLines(...)
。
library(rjson)
library(httr)
url <- "http://leafletjs.com/examples/us-states.js"
text <- content(GET(url),type="text")
text <- sub("var statesData = ","",text)
text <- sub(";$","",text)
json <- fromJSON(text)
您的文件实际上是javascript,因此要将其解释为json,您需要删除标题var statesData =
和尾随;
。