Я пытаюсь прочитать имена нескольких файлов .RData с помощью функции list.files ().Имена файлов выглядят примерно так: «HadCM3.temp236.run.1.Block.801.950.R2.map.RData» или «HadCM3.temp236.run.1.Block.1151.1300.R2.map.RData».Поскольку я хочу, чтобы вектор имени файла сортировался численно, я также использую функцию str_sort () из пакета stringr.Код выглядит примерно так:
hadcm3.variable <- "temp236"
infile.vect <- str_sort(list.files(pattern = paste("hadcm3.", hadcm3.variable,
".run.1.block.*.R2.map.RData", sep = ""), ignore.case = TRUE), numeric = TRUE)
Этот раздел кода содержится в гораздо большем сценарии.Самое смешное, что когда я запускаю весь сценарий (RStudio версия 1.1.456, R версия 3.5.1), упомянутая команда не работает, а переменная infile.vect содержит «символ (0)».Однако, когда я выделяю и запускаю только упомянутую команду, она дает желаемый результат, который выглядит следующим образом:
> infile.vect
[1] "HadCM3.temp236.run.1.Block.801.950.R2.map.RData"
[2] "HadCM3.temp236.run.1.Block.811.960.R2.map.RData"
...
[106] "HadCM3.temp236.run.1.Block.1851.2000.R2.map.RData"
Кроме того, я довольно уверен, что упомянутая команда выполняется также, когда весь сценарийвыполняется потому, что команды до и после также выполняются.Рабочий каталог тоже должен быть правильным.Я подозреваю, что у меня есть проблема с регулярными выражениями здесь (точки и множественные числа в именах файлов), но до сих пор не удалось ее решить.Как сделать так, чтобы команда работала вместе с остальным сценарием?Любая помощь будет оценена.