в моих настройках у меня есть эти переменные:Извлечения элементов из вектора символов
loc <- c('anf', 'iqq', 'stg', 'ccp', 'coy', 'puq')
subDirs <- list.dirs(full.names = FALSE)
В текущем каталоге, откуда извлечь имена поддиректорий, у меня есть несколько подкаталогов, в которых данные I Я нахожусь заинтересованных в обработке. Но есть и другие вспомогательные каталоги, которые я не могу удалить, потому что они содержат другие важные файлы. Интересующие меня суб-dirs имеют особенность, что каждый из них начинается с «кода», который может быть либо: anf, iqq, stg, ccp, coy, puq. Поэтому я хочу извлечь имена sub-dirs, которые содержат эти коды в первых трех символах имени subdirs.
for (k in 1:length(subDirs)){
if (!substr(subDirs[k], 1, 3) %in% loc & !is.na(subDirs[k])){
subDirs <- subDirs[subDirs != subDirs[k]]
}
}
Например, у меня есть
[1] "" "anf_b2_results" "anf_c1_results" "anf_c2_results" "anf_c3_results"
[6] "anf_e1_results" "anf_e2_results" "iqq_b2_results" "iqq_e1_results" "iqq_e2_results"
[11] "poi_library" "stg_b2_results" "stg_e1_results" "stg_e2_results"
Я хочу:
[1] "anf_b2_results" "anf_c1_results" "anf_c2_results" "anf_c3_results" "anf_e1_results"
[6] "anf_e2_results" "iqq_b2_results" "iqq_e1_results" "iqq_e2_results" "stg_b2_results"
[11] "stg_e1_results" "stg_e2_results"
Я сделал это для извлечения имен меня интересует, но есть лучше (эффективнее, проще) путь? У меня такое ощущение, что то, что я сделал, слишком жесткое кодирование, и мне нужен эффективный код, потому что позже будет много субдиров.
С наилучшими пожеланиями
Добро пожаловать в SO. Трудно сказать, что вы делаете, без каких-либо воспроизводимых данных. Пожалуйста, прочитайте [Как спросить] (http://stackoverflow.com/help/how-to-ask) и предоставите нам способ воспроизвести то, что вы делаете. Это поможет вам получить хорошие ответы. –
Тем не менее, из вашего сообщения кажется, что вы можете использовать аргумент 'pattern' с' list.files' вместо 'list.dirs' –
@RichardScriven Ohh! Виноват! Я знал, что что-то пропустил, это то, что у меня есть в переменной subDirs: [1] "" "anf_b2_results" "anf_c1_results" "anf_c2_results" "anf_c3_results" [6] "anf_e1_results" "anf_e2_results" "iqq_b2_results" "iqq_e1_results" "iqq_e2_results " [11]" poi_library "" stg_b2_results "" stg_e1_results "" stg_e2_results "Я просто хочу, что я указал в вопросе, спасибо за ваш ответ (я отредактировал вопрос) – dpalma