Вывести данные в текстовый файл в отдельных строках в r

Я пытаюсь написать код на т, что:

1.) Читает все остальные строки в текстовом файле

2.) записывает эти строки в текстовый файл

Мой код делает это, но проблема в том, что r записывает строки в текстовый файл в непрерывном формате, а не записывает построчно, как исходный текстовый файл.

Вот мой код:

test <- readLines("file_name.txt")
test <- test[seq(1, length(test), 2)] # reads every 2nd line
cat(test, file="E:/output_file_name.txt", sep = " ",append=TRUE)

В исходном файле "file_name.txt" строки выглядят так:

"2013-05-30",15,30,55,95

"2013-05-31",27,97,77,88

"2013-06-01",50,99,81,82

И я читаю каждую следующую строку, так что r выводит каждую другую строку в текстовый файл. Но проблема в том, что когда я вывожу текстовый файл с именем "output_file_name.txt", текстовый файл выглядит так:

"2013-05-30",15,30,55,95 "2013-06-01",50,99,81,82

Но мне нужен такой текстовый файл:

"2013-05-30",15,30,55,95

"2013-06-01",50,99,81,82

Исходный текстовый файл настолько большой, что было бы невозможно редактировать вручную.

Пожалуйста помоги,

Спасибо

2 ответа

Решение

Я предпочитаю write функции для записи в файл. Я думаю, что это делает то, что вы хотите.

> txt <- '"2013-05-30",15,30,55,95
 "2013-05-31",27,97,77,88
 "2013-06-01",50,99,81,82'
> test <- readLines(textConnection(txt))
> test <- test[seq(1, length(test), 2)]
> writeLines(test, sep = "\n") ## with  file = "filename" to write to file
"2013-05-30",15,30,55,95
"2013-06-01",50,99,81,82

Все, что вам нужно было sep = "\n" там. Или вы могли бы вставить "\n" в конце каждой строки, но это излишне.

Просто используйте paste0, чтобы добавить "\n" для разделения строк:

cat( paste0(test, "\n"), file="E:/output_file_name.txt", sep = " ",append=TRUE)
Другие вопросы по тегам