
Paulo, só uma última dúvida, eu tenho como nomear os quartis, para que 0.25 seja Q1 e o 0.75 seja Q3? Eu coloquei no código abcz = by(abc, abc$codigo, function(x) quantile(rep(x$valor, x$ponderador), prob=c(Q1=0.25, Q3=0.75))), porém ele continou gerando os resultados como 0.25 e 0.75. Eu usei o código que você indicou "as.data.frame(t(...))", com isso a minha variável codigo, passou a ser o rownames, como eu faço para torná-la uma variável de nome codigo, pois vou precisar, depois de calculado esses quartis, juntar com o arquivo de dados, por codigo. Tentei utilizar merge(abc, qrt, by.abc = "codigo", by.qrt = row.names, all.abc = TRUE), porém o resultado disso, não ficou ok, pois misturou valores de um codigo com o outro. Obrigado, Carlos Mendonça.