[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