#r
#r
Вопрос:
Я просто хочу прочитать файл и вывести его в консоль. печать (строки чтения (…)) ) — лучшее, что я могу сделать на данный момент, но мне не нужен построчный идентификатор, мне просто нужен файл как есть.
Ответ №1:
Используйте writeLines
вместо print
. По умолчанию con
для writeLines
используется stdout()
, так что writeLines(readLines(...))
звучит правильно.
Смотрите ?writeLines
.
Комментарии:
1. Есть ли какой-нибудь простой способ получить (скажем) первые 50 строк?
2. n = 50 stat.ethz.ch/R-manual/R-devel/library/base/html/readLines.html
Ответ №2:
Вы могли бы использовать system
для вызова системной команды.
system("cat yourfile.txt")
Комментарии:
1. OT: получите Rtools, вы никогда не будете оглядываться назад
Ответ №3:
Вы должны указать длину (которая может быть слишком большой), но, возможно, readChar
это помогло бы:
cat(readChar(filename, 1e5))
Комментарии:
1. хорошая идея. Я буду придерживаться readlines, поскольку это гарантирует, что все строки будут прочитаны
2. вы не можете объединить оба варианта в одном ответе?
3. Я мог бы, но я думал, что разные ответы должны быть в, ну, разных ответах. Я искал это в FAQ, но не нашел, поэтому я не уверен, где я это видел, если вообще где-либо видел. Что рекомендуется?
Ответ №4:
Я не знаю точно, что вы имеете в виду, но ?cat
возможно, это то, что вы ищете.
Комментарии:
1. кажется, это работает: cat(readLines( FILEPATH ) , sep = » n») , хотя немного неудобно, что я читаю файл построчно только для того, чтобы записать его с новым разделителем строк. Возможно, есть функция, которая просто считывает весь файл в строку без каких-либо разделителей или вообще какого-либо синтаксического анализа — просто «как есть»?
2. Это ужасный ответ, поскольку он не имеет ничего общего с содержимым файла. В частности, вызов cat(file=<ваше имя файла>) приведет к удалению содержимого вашего файла, поскольку аргумент file является переопределением вывода для cat.
Ответ №5:
Вот элегантный способ, использующий dplyr
library(dplyr)
readLines("init.R") %>% paste0(collapse="n") %>% cat
или с базовым R
cat(paste0(readLines("init.R"), collapse="n"))
не забудьте заменить init.R
путь к файлу myfolder/myfile.R
Комментарии:
1. В этом решении нет ничего
dplyr
конкретного, вы просто используетеmagrittr
канал ( magrittr.tidyverse.org ). Начиная с версии R 4.0.5, вы также можете использовать базовый канал R|>