10 авг. 2012 г.

R: Построение полигона частот

В R существует возможность вместо гистограммы (или вместе с ней) построить полигон частот.

> x <- rnorm(100)
> hist(x)
> h1 <- hist(x)
> lines(h1$counts ~ h1$mids, col="red")
> rug(x)

Выглядеть результат будет следующим образом:

Полигон частот, построенный на гистограмме

Рисование гистограммы можно подавить, построив только полигон частот:

> h1 <- hist(x, plot=FALSE)
> plot(h1$counts ~ h1$mids, col="red", type="l", bty="n",
+ main="Полигон частот для x", xlab="x", ylab="Частота")

h1 — очень информативный объект, он содержит сведения о границах ($breaks) и серединах ($mids) интервалов, на которые разбиваются исходные данные, частоте ($counts) и относительной частоте ($density) наблюдений на каждом интервале.

> str(h1)
List of 7
 $ breaks     : num [1:11] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 ...
 $ counts     : int [1:10] 1 5 9 9 28 18 12 11 4 3
 $ intensities: num [1:10] 0.02 0.1 0.18 0.18 0.56 0.36 0.24 0.22 0.08 0.06
 $ density    : num [1:10] 0.02 0.1 0.18 0.18 0.56 0.36 0.24 0.22 0.08 0.06
 $ mids       : num [1:10] -2.25 -1.75 -1.25 -0.75 -0.25 0.25 0.75 1.25 1.75 2.25
 $ xname      : chr "x"
 $ equidist   : logi TRUE
 - attr(*, "class")= chr "histogram"