[R-br] Erro em função
Carlos Mendonça
csaeslpv em centroin.com.br
Quarta Agosto 31 09:30:48 BRT 2011
Caros, estou utilizando a função abaixo que calcula os quartis ponderados
que funcionou muito bem até agora.
tmp = subset(arq1, select=c(codigo, qtd, val))
equantileByCounts <- function(x, counts, qs){
tot <- sum(counts)
i <- order(x)
x <- x[i]
counts <- counts[i]
partial <- cumsum(counts)
qsObs <- qs*tot
start <- floor(qsObs)
end <- ceiling(qsObs)
i <- length(qs)
aux1 <- sapply(1:i,
function(.x, start, end, x){
coord <- c(start[.x], end[.x])
bins <- c(1, partial)
grps <- cut(coord, bins, labels=FALSE,
include.lowest=T)
mean(x[grps])
}, start=start, end=end, x=x)
names(aux1) <- names(qs)
return(aux1)
}
aux1 <- do.call(rbind,
lapply(split(tmp, tmp$codigo),
function(y)
equantileByCounts(y$qtd, y$val, c(.25, .75))))
O meu processamento é por trimestres e em apenas um deles deu a
seguinte mensagem de erro:
"Erro em cut.default(coord, bins, labels = FALSE, include.lowest = T) :
'breaks' não são únicos"
Alguém saberia me dizer o que posso fazer?
Um abraço,
Carlos Mendonça.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110831/7de0095b/attachment.html>
Mais detalhes sobre a lista de discussão R-br