проблема создания динамического имени файла в R - PullRequest
5 голосов
/ 13 августа 2010

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

Поэтому я решил использоватьметка времени.Но это работает не так, как я надеялся, и я хотел бы понять, что происходит и как это сделать правильно.

Вот как я пытаюсь назвать файл (file_base - этоимя входного файла):

now<-format(Sys.time(), "%b%d%H%M%S")
outputfile<-cat(file_base, "-",now,"-output.txt", sep="")

Вывод этой пары функций выглядит великолепно.Но выполнение 'outputfile' впоследствии приводит к 'NULL' в качестве вывода.

Что здесь происходит, и как я могу создать выходное имя файла со свойствами, которые мне нужны?

Ответы [ 3 ]

14 голосов
/ 13 августа 2010

Вы путаете cat и paste.Вы хотите:

outputfile <- paste(file_base, "-",now,"-output.txt", sep="")
0 голосов
/ 04 августа 2017

Вы также можете использовать функцию sprintf (), это оболочка для функции C.пример:

filepath <- file.path(outdir, sprintf("abcdefg_%s.rda", name))
0 голосов
/ 08 октября 2015

Вы также можете использовать аргумент-разделитель пасты:

outputfile <- paste(file_base,now,"output.txt", sep="-")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...