В R можно построить гистограмму и сохранить его свойства переменной:переменные, которые влияют на гистограмму график с функцией чужого() в R
> h1=hist(c(1,1,2,3,4,5,5), breaks=0.5:5.5)
Эти свойства можно затем прочитать:
> h1
$breaks
[1] 0.5 1.5 2.5 3.5 4.5 5.5
$counts
[1] 2 1 1 1 2
$density
[1] 0.2857143 0.1428571 0.1428571 0.1428571 0.2857143
$mids
[1] 1 2 3 4 5
$xname
[1] "c(1, 1, 2, 3, 4, 5, 5)"
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"
Как эти свойства влияют на гистограмму? До сих пор я выяснил следующее:
Отношения между $breaks
и $counts
. $breaks
представляет собой интервал, к которому нанесены данные могут упасть и $counts
представляет собой количество данных, которые попали в этот интервал, например:
[] обозначает closed interval (конечные точки включены)
() обозначает open interval (конечные точки не включены)
BREAKS : COUNTS
[0.5-1.5] : 2 # There are two 1 which falls into this interval
(1.5-2.5] : 1 # There is one 2 which falls into this interval
(2.5-3.5] : 1 # There is one 3 which falls into this interval
(3.5-4.5] : 1 # There is one 4 which falls into this interval
(4.5-5.5] : 2 # There are two 5 which falls into this interval
Соотношение между $breaks
и $density
в основном таким же, как и выше, но написаны в процентах, например:
BREAKS : DENSITY
[0.5-1.5] : 0.2857143 # This interval covers cca 28% of plot
(1.5-2.5] : 0.1428571 # This interval covers cca 14% of plot
(2.5-3.5] : 0.1428571 # This interval covers cca 14% of plot
(3.5-4.5] : 0.1428571 # This interval covers cca 14% of plot
(4.5-5.5] : 0.2857143 # This interval covers cca 28% of plot
Конечно, когда вы просуммировать все эти значения, вы получите 1:
> sum(h1$density)
[1] 1
После трибунами на имя оси х:
$xname
[1] "c(1, 1, 2, 3, 4, 5, 5)"
Но что делать остальные делают, особенно $mids
?
$mids
[1] 1 2 3 4 5
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"
Также help(hist)
возвращает многие другие, не должны они быть также перечислены в выводе выше, если не почему? Как поясняются в following статьи
По умолчанию бин счетчики включают значения меньше или равно правой точки разрыва БИН и строго больше, чем левая точка перерыва БИН, за крайний левый бункер, который включает в себя, кроме его левый перерыв пункт.
Так следующее:
h1=hist(c(1,1,2,3,4,5,5,1.5), breaks=0.5:5.5)
вернется гистограмму, где 1,5 попадет в 0,5-1,5 интервал. Один «обходной путь» заключается в том, чтобы установить размер интервала меньшим, например.
h1=hist(c(1,1,2,3,4,5,5,1.5), breaks=seq(0.5,5.5,0.1))
, но это кажется непрактичным для меня, и это также добавляет кучу 0 до $counts
и $density
, есть лучше, автоматический способ?
Кроме этого у него также есть один побочный эффект, который я не могу объяснить себе: почему последний пример возвращается в резюме 10, а не 1?
> sum(h1$density)
[1] 10
> h1$density[h1$density>0]
[1] 2.50 1.25 1.25 1.25 1.25 2.50
Пожалуйста, ознакомьтесь с '? [Имя_функция]', прежде чем отправлять подобные вопросы. –