
vc precisa checar os 'bins' usados em cut(). O que o erro sugere e' que vc tem dois limites identicos em bins... Por exemplo: set.seed(1) grps = c(0, .2, .2, .4, 1) cut(runif(10), grps) e ele funcionaria se: set.seed(1) grps = c(0, .2, .4, 1) cut(runif(10), grps) Ou seja, em teoria, vc precisaria usar: cut(coord, unique(bins), labels=FALSE, include.lowest=T) Entretanto, ao usar unique() vc vai obter uma resposta de comprimento diferente dos outros nos quais 'bins' assume valores diferentes. Consequentemente o seu do.call(rbind, ...) vai falhar. Vc precisa, portanto, checar se 'bins' eh duplicado, fazer o cut() nos valores unicos, determinar sua media e, depois, reconstruir a resposta (ie. colocar de volta o valor duplicado com a media correspondente) para que fique com o comprimento correto. b