У меня есть текстовый файл без видимой табличной или другой структуры, например, с содержимым
some text on line 1
some more text on line 2
even more text on the third line
etc
Какой самый элегантный и R-подобный способ вывести первые (скажем, 2) строки текста из этого файла в консоль?
Вариант 1 : readLines
readLines('file.txt', n=2)
# [1] "some text on line 1" "some more text on line 2"
Опция n=2
полезна, но я хочу, чтобы в качестве элементов вектора использовалось необработанное содержимое файла, а не отдельные строки.
Вариант 2 : file.show
file.show('file.txt')
# some text on line 1
# some more text on line 2
# even more text on the third line
# etc
Я хотел бы видеть этот формат вывода, но опция ограничения количества строк, например n=2
в readLines
, отсутствует.
Вариант 3 : system('head')
system('head -n2 file.txt')
# some text on line 1
# some more text on line 2
Это именно то, что я хотел бы получить, но я не уверен, работает ли это на всех платформах, и вызывать внешнюю команду для такой простой задачи немного неудобно.
Можно комбинировать решение readLines
с пастой и cat
для форматирования вывода, но это кажется чрезмерным. Простая команда, подобная file.head
, подойдет, или аргумент n=2
в file.show
, но ни одна из них не существует. Какой самый элегантный и компактный способ добиться этого в R?
Чтобы прояснить цель здесь: это для написания учебника R, где описательная часть напоминает «... мы теперь записали наши данные в новый текстовый файл, поэтому давайте посмотрим, сработает ли это, посмотрев на первой паре строк ... ». На этом этапе очень простое и компактное выражение R, использующее базовые ( update : или tidyverse
) функции, чтобы сделать именно это, было бы очень полезно.