переменная в имени файла для write.table в R - PullRequest
4 голосов
/ 21 июля 2011

Пожалуйста, помогите мне с наивным вопросом (уже гуглил, перепробовал много вариантов, но не получилось): Как сохранить файлы с переменной в имени файла для write.table в R? Скрипт зацикливает файлы в dir, применяет некоторые функции и затем сохраняет результаты в файл с тем же именем, но с дополнительным окончанием. Спасибо'S!

for (x in list.files(pattern="SIM")) {
                      u <- read.table(x, header = T, row.names = 1, sep = " ")
                      ut <- t(u)
                      utm <- colMeans(ut)
                      utms <- sort(utm, decreasing = T)
                      write.table(utms, "$x.mean")
                      }

Ответы [ 3 ]

15 голосов
/ 21 июля 2011

Для этого можно использовать paste.

Попробуйте выполнить следующее:

write.table(utms, file=paste(x, ".mean", sep=""))

paste объединяет символьные векторы.Подробнее см. ?paste.

9 голосов
/ 21 июля 2011

Функция sprintf также может использоваться для этого типа вещей с немного другим синтаксисом:

write.table(utms, file=sprintf("%s.mean",x))
1 голос
/ 04 апреля 2018

Вы также можете использовать следующее для фреймов данных:

now<-format(Sys.time(), "%d-%m-%Y")
csvFileName <- paste("Your_df_",now,".csv",sep="")
write.csv(WKSH_Check, file=csvFileName) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...