#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. Мне действительно жаль. Для следующего шага я должен создать новый вопрос?