<div>Caros, estou utilizando a função abaixo que calcula os quartis ponderados que funcionou muito bem até agora. </div><div> </div><div>tmp = subset(arq1, select=c(codigo, qtd, val))</div><div>equantileByCounts <- function(x, counts, qs){<br>
    tot <- sum(counts)<br>    i <- order(x)<br>    x <- x[i]<br>    counts <- counts[i]<br>    partial <- cumsum(counts)<br>    qsObs <- qs*tot<br>    start <- floor(qsObs)<br>    end <- ceiling(qsObs)<br>
    i <- length(qs)<br>    aux1 <- sapply(1:i,<br>                  function(.x, start, end, x){<br>                      coord <- c(start[.x], end[.x])<br>                      bins <- c(1, partial)<br>                      grps <- cut(coord, bins, labels=FALSE, include.lowest=T)<br>
                      mean(x[grps])<br>                  }, start=start, end=end, x=x)<br>    names(aux1) <- names(qs)<br>    return(aux1)<br>}</div><div>aux1 <- do.call(rbind,<br>               lapply(split(tmp, tmp$codigo),<br>
                      function(y)<br>                      equantileByCounts(y$qtd, y$val, c(.25, .75))))</div><div> </div><div> </div><div>O meu processamento é por trimestres e em apenas um deles deu a seguinte mensagem de erro:</div>
<div> </div><div> "Erro em cut.default(coord, bins, labels = FALSE, include.lowest = T) : <br>  'breaks' não são únicos"<br></div><div>Alguém saberia me dizer o que posso fazer?<br clear="all"><br></div>
<div>                Um abraço,</div>
<div> </div>
<div>                Carlos Mendonça.</div><br>