<div>Benilton,</div><div> </div><div>você poderia me ajudar, pois com o meu nível de conhecimento do R eu não consegui implementar a sua solução de </div><div>"checar se 'bins' eh duplicado, fazer o cut() nos<br>
valores unicos, determinar sua media e, depois, reconstruir a resposta<br>(ie. colocar de volta o valor duplicado com a media correspondente)<br>para que fique com o comprimento correto.". </div><div> </div><div>Obrigado,</div>
<div> </div><div>Carlos Mendonça.</div><div> </div><div> </div><div class="gmail_quote">Em 31 de agosto de 2011 09:30, Carlos Mendonça <span dir="ltr"><<a href="mailto:csaeslpv@centroin.com.br">csaeslpv@centroin.com.br</a>></span> escreveu:<br>
<blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote"><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><font color="#888888">
<div> Carlos Mendonça.</div><br>
</font></blockquote></div><br><br clear="all"><br>-- <br><div> Um abraço,</div>
<div> </div>
<div> Mendonça</div><br>