Я надеялся, что кто-нибудь может помочь мне с функцией цикла, с которой я работаю. Я пытался много искать в Google и Stack Overflow, но, поскольку я не знаю точной терминологии поиска, я боюсь, что пропущу некоторые результаты. Имея это в виду, я заранее извиняюсь, если этот вопрос уже был задан, но я надеюсь, что кто-то может указать мне правильное направление для решения.
О моих данных
Я скачал тысячи файлов со спутника НАСА MODIS. Поскольку область моего исследования охватывает большую площадь, мне пришлось загружать данные по площади в 6 плиток. В результате мой список загруженных файлов фактически «сгруппирован» в группы по 6 (несмотря на то, что в проводнике он выглядит просто как список файлов).
Я написал несколько простых циклов for в R, чтобы выполнить некоторую начальную обработку (в приведенном ниже примере это повторная выборка плиток, чтобы их затем можно было сшить вместе с помощью raster::mosaic. На этом этапе эта обработка может выполняться для файлов по отдельности. поэтому я обнаружил, что приведенный ниже цикл идеально подходит для моих нужд:
resampled.raster<-list()
for (l in 1:24){
cat(l,"\n")
resampled.raster[[l]]<-resample(rst[[l]], s, method="ngb")
}
Проблема
Следующий этап моей обработки требует, чтобы я разбил растры на группы по 6, прежде чем перейти к следующему пакету из 6. Например, если у меня есть список из 24 файлов, первые 6 нужно будет обработать как набор файлы, а затем сохранены (в списке) перед переходом к следующим 6. После 4 итераций этого (чтобы всего было 24 файла) мне нужно, чтобы цикл остановился.
Самое близкое решение, которое я нашел в Интернете, находится здесь но это не решение моей проблемы.
Возможна ли эта «пакетная» обработка с использованием цикла for в R? Заранее большое спасибо за вашу помощь.
raster
, но для выбора пакета вы можете сделать что-то вроде:step <- 6
сfor(i in seq(1,24,step ))
, а затем внутри циклаbatchIndex <- i:(i+step)
- person StatMan   schedule 26.07.2016