Eu tenho o vetor
x <- c(1,2,3,4,5,5,5,6,6,6,6,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,8,8,8,8,9,9,9,10)
(meu vetor real tem um comprimento> 10.000) e gostaria de encontrar os intervalos em que estão os 90% da densidade. É quantile(x, probs=c(0.05,0.95), type=5)
o mais apropriado ou existe outra maneira?
Respostas:
Como apontado acima, existem muitas maneiras diferentes de definir um intervalo que inclua 90% da densidade. Um que ainda não foi apontado é o maior intervalo de densidade [posterior] ( wikipedia ), que é definido como "o intervalo mais curto para o qual a diferença nos valores da função de densidade cumulativa empírica dos pontos finais é a probabilidade nominal".
fonte
Certamente parece ser a abordagem mais direta. A função é bastante rápida. Eu o uso o tempo todo em amostras centenas de vezes maiores que a que você está usando, e a estabilidade das estimativas deve ser boa no tamanho da sua amostra.
Existem funções em outros pacotes que fornecem conjuntos mais completos de estatísticas descritivas. O que eu uso é
Hmisc::describe
, mas existem vários outros pacotes comdescribe
funções.fonte
Seu caminho parece sensato, especialmente com os dados discretos no exemplo,
mas outra maneira seria usar um kernel de densidade computada:
fonte
Sim. :-). Você pode achar que a saída
stats::density
é mais útil.fonte