Читать текстовый файл в R - PullRequest
       4

Читать текстовый файл в R

3 голосов
/ 27 сентября 2010

Я прошу прощения, если об этом спрашивали ранее, но я не смог найти пример в Интернете или в другом месте.

У меня очень грязный файл данных в текстовом файле (это может быть JSON). Я хочу проанализировать данные в R, и, поскольку я все еще плохо знаком с языком, я хочу читать необработанные данные и манипулировать ими по мере необходимости.

Как бы я начал читать в формате JSON из текстового файла на моем компьютере? Кроме того, если это не JSON, как я могу читать необработанные данные как есть (не разбираются в столбцы и т. Д.), Чтобы я мог продолжить и выяснить, как их анализировать при необходимости?

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 27 сентября 2010

Если вы хотите использовать пакеты, относящиеся к JSON в R, на SO есть ряд других сообщений, отвечающих на этот вопрос. Я предполагаю, что вы искали на JSON [r] уже на этом сайте, там много информации.

Если вы просто хотите построчно читать текстовые файлы и обрабатывать их позже, вы можете использовать scan() или readLines(). Они, кажется, делают то же самое, но между ними есть важное различие.

scan() позволяет вам определить, какие объекты вы хотите найти, сколько и так далее. Прочитайте файл справки для получения дополнительной информации. Вы можете использовать сканирование, чтобы прочитать каждое слово / число / знак как элемент вектора, используя, например, scan(filename,""). Вы также можете использовать определенные разделители для разделения данных. Смотрите также примеры в файлах справки.

Чтобы читать построчно, вы используете readLines(filename) или scan(filename,"",sep="\n"). Это дает вам вектор со строками файла в качестве элементов. Это снова позволяет вам сделать пользовательскую обработку текста. Опять же, если вам действительно нужно делать это часто, вы можете рассмотреть возможность сделать это в Perl.

2 голосов
/ 15 октября 2015

Предположим, ваш файл в формате JSON, вы можете попробовать пакеты jsonlite ou RJSONIO или rjson .Эти три пакета позволяют вам использовать функцию из JSON.

Для установки пакета вы используете функцию install.packages .Например:

install.packages("jsonlite")

И всякий раз, когда пакет установлен, вы можете загрузить его с помощью библиотеки функций.

library(jsonlite) 

Как правило, JSON с разделителями строк имеет один объект на строку.Итак, вам нужно читать построчно и собирать объекты.Например:

con <- file('myBigJsonFile.json') 
open(con)
objects <- list()
index <- 1
while (length(line <- readLines(con, n = 1, warn = FALSE)) > 0) {
    objects[[index]] <- fromJSON(line)
    index <- index + 1
} 
close(con)

После этого у вас есть все данные в переменной objects .С помощью этой переменной вы можете извлечь нужную информацию.

2 голосов
/ 27 сентября 2010

Используйте пакет rjson . В частности, посмотрите на функцию fromJSON в документации .

Если вам нужны дополнительные указатели, найдите rjson на сайте R Bloggers .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...