Encontre o segundo maior valor em uma pilha de raster em R

Em R eu posso calcular facilmente o valor max / min de cada célula em uma pilha de raster georreferenciada usando os comandos max / min.

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)

No entanto, tenho tentado encontrar uma maneira de encontrar os segundos maiores valores em uma pilha. No meu caso, cada raster na pilha indica o desempenho de um modelo específico no espaço. Eu gostaria de comparar o primeiro contra o segundo melhor valor para determinar quanto melhor é o melhor modelo de seu segundo colocado sem ter que converter meu stack em uma matriz e depois voltar para um raster. Alguma idéia ou sugestão?

questionAnswers(1)

yourAnswerToTheQuestion