R создавать много текстовых файлов

#r #text #write.table #sink

#r #текст #write.table #слив

Вопрос:

Пример

 x <- 1:10
fileConn<-file("file[x.txt")
writeLines("hello number",
           print(x), fileConn)
close(fileConn)
  

Вот что у меня есть, это x, которое идет от 1 до 10.
Я хочу создать 10 файлов под названием «file1.txt «через»file10.txt » это говорит

 "hello number"
1
  

через

 "hello number"
10
  

например.

редактировать — на самом деле это должно быть

 hello number 1
  

вместо

 hello number
1
  

Ответ №1:

Мы могли бы попробовать использовать здесь apply функцию:

 sapply(x, function(y) {
    name <- paste0("file", y, ".txt")
    fileConn <- file(name)
    writeLines(c("hello number", y), fileConn)
    close(fileConn)
})
  

Если вам не нужны эти разрывы строк по умолчанию, то одним из вариантов является просто вызов writeLines с помощью одного символа:

 writeLines(paste0("hello number ", y), fileConn)
  

Комментарии:

1. Это приводит к ошибке: Ошибка в линиях записи («hello number n», print(y), fileConn): ‘con’ не является соединением

2. @bvowe Я думаю, что ваш вызов writeLines был неправильным, и я скопировал его. Попробуйте мой обновленный ответ, который передает вектор в качестве первого аргумента.

3. спасибо, на самом деле это здорово, пожалуйста, посмотрите мою новую правку об удалении разрыва строки спасибо

4. @bvowe Я отредактировал свой ответ, чтобы учесть это новое требование. Обратите внимание, что, как правило, невежливо менять свой вопрос после того, как другие уже ответили.

5. Мне действительно жаль. Для следующего шага я должен создать новый вопрос?