В R Я могу легко вычислить максимальное/минимальное значение каждой ячейки в стеке с привязкой к привязке с использованием команд max/min.Найти второе наивысшее значение в стеке растра в R
set.seed(42)
require(raster)
r1 <- raster(nrows=10, ncols=10)
r2=r3=r4=r1
r1[]= runif(ncell(r1))
r2[]= runif(ncell(r1))+0.2
r3[]= runif(ncell(r1))-0.2
r4[]= runif(ncell(r1))
rs=stack(r1,r2,r3,r4)
plot(rs)
max(rs)
min(rs)
Тем не менее, я пытался найти способ найти второе по величине значение в стеке. В моем случае каждый растр в стеке обозначает производительность определенной модели во всем пространстве. Я хотел бы сравнить первое и второе лучшие значения, чтобы определить, насколько лучше лучшая модель от ее занявшего второе место без необходимости конвертировать мой стек в матрицу, а затем обратно в растровый. Любые идеи или предложения?
'макс (Rs [RS <тах (rs)]) 'является одним небрежным способом. –
К сожалению, это не работает, так как r не имеет определенных методов для подмножества стека с использованием предложенного вами синтаксиса: «Ошибка в rs [rs
Да, извините - вам придется сделать какое-то принуждение по атрибутам стека. –