R: создать папку, используя имя файла

У меня есть папка (raw_file), в которой есть куча CSV-файлов (например, aaa.csv, bbb.csv). Мне нужно создать еще одну папку (out_put) в том же каталоге, что и raw_file. Кроме того, в папке out_put будут папки с тем же именем, что и у моего CSV-файла (например, aaa, bbb). Может ли кто-нибудь показать мне, как это сделать в R. Заранее спасибо.


person kelvinfrog    schedule 27.03.2015    source источник


Ответы (1)


Предполагая (raw_file) ваш рабочий каталог (так что setwd(raw_file)) :

    foldernames<-sub("^([^.]*).*", "\\1", list.files()) 
    foldernames<-paste("out_put/",foldernames,sep='')
    lapply(foldernames,dir.create,recursive = TRUE)
person jeborsel    schedule 27.03.2015
comment
Я хочу спросить, будет ли ваш код работать только для имени файла aaa, bbb и т. д. или он будет работать для любых имен файлов. Имеет ли ^([^.]*).*, \\1 какое-то отношение к регулярным выражениям в Perl? Спасибо. - person kelvinfrog; 27.03.2015
comment
работает с любым именем файла, подфункция и регулярное выражение, чтобы избавиться от расширений файлов (вы можете удалить это, если хотите .csv в имени папки) - person jeborsel; 27.03.2015
comment
Еще один вопрос. Если main_folder является моим рабочим каталогом, а каталог raw_file является подкаталогом main_folder, есть ли способ получить имена файлов файлов в raw_file (строка 1) без изменения рабочего каталога на raw_file. Спасибо. - person kelvinfrog; 28.03.2015
comment
да, просто добавьте путь к папке в функцию list.files(). п.э. если raw_file является подкаталогом вашего рабочего каталога, то вам помогут имена папок‹-sub(^([^.]*).*, \\1, list.files(raw_file)) . - person jeborsel; 28.03.2015