Записать данные во временный файл с именем файла, хранящимся в среде R - PullRequest
0 голосов
/ 05 мая 2019

У меня есть некоторые данные, которые я хотел бы записать во временный файл CSV в R.

Пользователи имеют возможность указать имя файла по своему выбору, которое хранится в среде (называемой 'envr') отдельно от .GlobalEnv

if (!is.null(envr$filename)) {
    write.csv(df, file = paste(envr$filename, ".csv", sep = ""))
  }

Чтобы сделать это успешно, мне нужно создать временный файл, который назначен на имя файла, выбранное пользователем.

if (!is.null(envr$filename)) {
    file.name <- get("filename", envir = envr)
    tempfile(fileext = ".csv")
    write.csv(df, file = file.name)

}

Приведенный выше оператор if не выполняет эту работу, поскольку файл CSV не сохраняется в $ TMPDIR.

Как я могу легко интегрировать tempfile () в первый оператор if, приведенный выше, без необходимости присваивать его имени переменной (file.name)?

1 Ответ

0 голосов
/ 06 мая 2019

Вы можете объединить имя файла (полученное из переменной среды filename) с временной папкой сеанса (используя tempdir()) вместе с расширением .csv следующим образом:

if (!is.null(envr$filename)) {
  write.csv(df, file = paste0(tempdir(), "/", get("filename", envir = envr), ".csv"))
}

Дайте мне знать, если он отвечает на ваш вопрос или вам нужна дополнительная помощь.

...