[R-br] precisão numérica e which.max com empates

Paulo J Ribeiro Jr paulojus em leg.ufpr.br
Quarta Maio 2 23:22:45 BRT 2012


Pedro

para 1 voce pode usar all.equal() ou fazer a comparacao arredondando os
valores (para 12 casas decimais por exemplo

com isto em 2 algo como

which(x = max(x))

vai resolver



Em Qua, 2012-05-02 às 22:11 -0300, Pedro Emmanuel Alvarenga Americano do
Brasil escreveu:
> Amigos de R,
> 
> 
> Estou tentando comparar alguns métodos de estimação e um dos passos
> necessários é encontrar valores maximos ou minimos de vetores
> numéricos. 
> 
> 
> O problema numero 1 é que quando comparo visualmente os vetores ocorre
> que ocasionalmente acontece 2 ou 3 empates nos valores máximos ou
> mínimos como no vetor abaixo. Reparem que o valor .7 aparece na
> posição 21 e 23. Mas quando utilizo a função which.max ou max eu so
> encontro a posição 23. POssivlemente ha alguma coisa relacionado com
> precisão nume´rica apesar de não fazer muito sentido no momento.
> 
> 
> 
> > test.values$Youden
>  [1] 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.55 0.60 0.65 0.60 0.65 0.60 0.65
> [21] 0.70 0.65 0.70 0.65 0.60 0.65 0.60 0.65 0.60 0.55 0.50 0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05
> > max(test.values$Youden)
> [1] 0.7
> 
> 
> > which.max(test.values$Youden)
> [1] 23
> > which(test.values$Youden==max(test.values$Youden))
> [1] 23
> > test.values$Youden[21]==test.values$Youden[23]
> 
> 
> 
> [1] FALSE
> 
> 
> O problema 2 é que quando de fato ocorrem empates a função which.max retorna somente a primeira posição. Então, a questão
> 
> seria como retornar todas as posições com valores máximos ou encontrar uma mediana dos valores empatados? 
> 
> 
> Qualquer luz é bem vinda. 
> 
> Dr. Pedro Emmanuel A. A. do Brasil
> Curriculum Lattes:  http://lattes.cnpq.br/6597654894290806 
> Instituto de Pesquisa Clínica Evandro Chagas
> Fundação Oswaldo Cruz
> Rio de Janeiro - Brasil
> Av. Brasil 4365, 
> CEP 21040-360,
> Tel 55 21 3865-9648
> email: pedro.brasil em ipec.fiocruz.br
> email: emmanuel.brasil em gmail.com
> 
> ---Apoio aos softwares livres
> www.zotero.org - gerenciamento de referências bibliográficas. 
> www.broffice.org ou www.libreoffice.org - textos, planilhas ou
> apresentações.
> www.epidata.dk - entrada de dados.
> www.r-project.org - análise de dados.
> www.ubuntu.com - sistema operacional
> 
> 
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.




Mais detalhes sobre a lista de discussão R-br