Я новичок в R, но чем больше его использую, тем больше я вижу, насколько он действительно эффективен по сравнению с SAS или SPSS. На мой взгляд, одним из основных преимуществ является возможность получать и анализировать данные из Интернета. Я полагаю, что это возможно (и, возможно, даже просто), но я хочу проанализировать данные JSON, которые общедоступны в Интернете. Я ни в коем случае не программист, поэтому мы будем очень признательны за любую помощь и инструкции. Даже если вы укажете мне базовый рабочий пример, я, вероятно, смогу его проработать.
Пакет jsonlite прост в использовании и пытается преобразовать json во фреймы данных.
Пример:
library(jsonlite) # url with some information about project in Andalussia url <- 'http://www.juntadeandalucia.es/export/drupaljda/ayudas.json' # read url and convert to data.frame document <- fromJSON(txt=url)
источник
jsonlite
он более или менее полезен, как вилка, чтобы съесть суп.Вот недостающий пример
library(rjson) url <- 'http://someurl/data.json' document <- fromJSON(file=url, method='C')
источник
Функция fromJSON () в RJSONIO, rjson и jsonlite не возвращает простой 2D data.frame для сложных вложенных объектов json.
Чтобы преодолеть это, вы можете использовать tidyjson . Он принимает json и всегда возвращает data.frame. В настоящее время он недоступен в CRAN, вы можете получить его здесь: https://github.com/sailthru/tidyjson
Обновление: tidyjson теперь доступен в кране, вы можете установить его напрямую, используя
install.packages("tidyjson")
источник
Для записи, rjson и RJSONIO действительно меняют тип файла, но на самом деле они не анализируют как таковые. Например, я получаю уродливые данные MongoDB в формате JSON, конвертирую их с помощью rjson или RJSONIO, затем использую unlist и тонны ручных исправлений, чтобы фактически проанализировать их в пригодную для использования матрицу.
источник
Попробуйте код ниже, используя RJSONIO в консоли
library(RJSONIO) library(RCurl) json_file = getURL("https://raw.githubusercontent.com/isrini/SI_IS607/master/books.json") json_file2 = RJSONIO::fromJSON(json_file) head(json_file2)
источник