Визуализация гистограмм

Как рисовать гистограммы? Казалось бы, вызываете функцию hist() своего любимого пакета и voila! Однако, есть полезный прием, который целесообразно использовать в том случае, если частоты могут сильно различаться.

В таком случае - т.е. если частота в одном интервале многократно превышает частоту в другом интервале - удобно строить не сами частоты, а логарифм или корень частот. Тонкая структура гистограмм визуализируется куда лучше.

Для примера - гистограмма. Как видно, огромный пик в области нуля все забивает, и частоты в районе 1.0 уже не прорисовываются. А есть ли они там?


Вот что получится если рисовать корень из частоты. Как видно, есть частоты для значений > 1.0. На первой гистограмме их абсолютно не было видно.

Ну и наконец берем логарифм частоты, и видим всю тонкую структуру гистограммы.

А вот код на R, который можно использовать для построения таких гистограмм:

myhist = hist(dat[,2], 30, plot=F)
myhist$counts=log2(myhist$counts)
myhist$counts[which(myhist$counts==-Inf)]=0; # in case of zero counts
plot(myhist,col="blue",ylab="log2(frequency)")


Добавить комментарий


Защитный код
Обновить