Как использовать функцию readLines() в R (с примерами)


Функцию readLines() в R можно использовать для чтения некоторых или всех строк текста из объекта подключения.

Эта функция использует следующий синтаксис:

readLines(con, n=-1L)

куда:

  • con: объект подключения или строка символов
  • n: максимальное количество строк для чтения. По умолчанию читаются все строки.

В следующих примерах показано, как использовать эту функцию на практике со следующим текстовым файлом с именем some_data.txt :

Пример 1. Использование readLines() для чтения всех строк из текстового файла

Предположим, текстовый файл сохранен в папке «Мои документы » на моем компьютере.

Я могу использовать следующую функцию readLines() для чтения каждой строки из этого текстового файла:

#read every line from some_data.txt
readLines("C:/Users/Bob/Documents/some_data.txt")

[1] "The first line of the file" "The second line of the file"
[3] "The third line of the file" "The fourth line of the file"
[5] "The fifth line of the file" "The sixth line of the file"

Текстовый файл содержит 6 строк, поэтому функция readLines() создает вектор символов длины 6.

Если я хочу, я могу вместо этого сохранить строки из текстового файла во фрейме данных:

#read every line from some_data.txt
my_data <- readLines("C:/Users/Bob/Documents/some_data.txt")

#create data frame
df = data.frame(values=my_data)

#view data frame
df

 values
1 The first line of the file
2 The second line of the file
3 The third line of the file
4 The fourth line of the file
5 The fifth line of the file
6 The sixth line of the file

Результатом является фрейм данных с одним столбцом и шестью строками.

Пример 2. Использование readLines() для чтения первых N строк из текстового файла

Еще раз предположим, что текстовый файл сохранен в папке «Мои документы » на моем компьютере.

Я могу использовать следующую функцию readLines() с аргументом n , чтобы прочитать только первые n строк из этого текстового файла:

#read first 4 lines from some_data.txt
readLines("C:/Users/Bob/Documents/some_data.txt", n= 4 )

[1] "The first line of the file" "The second line of the file"
[3] "The third line of the file" "The fourth line of the file"

Функция readLines() создает вектор символов длины 4.

Я также могу использовать скобки для доступа к определенной строке из этого текстового файла.

Например, я могу использовать следующий код для доступа только ко второй строке из вектора символов:

#read first 4 lines from some_data.txt
my_data <- readLines("C:/Users/Bob/Documents/some_data.txt", n= 4 )

#display second line only
my_data[2]

[1] "The second line of the file"

Дополнительные ресурсы

В следующих руководствах объясняется, как импортировать другие типы файлов в R:

Как использовать read.table в R
Как импортировать файлы CSV в R
Как импортировать файлы Excel в R