Наложение распределений ядра в R - PullRequest
3 голосов
/ 07 сентября 2011

Я пытаюсь разместить 3 функции плотности на графике, используя

plot(density(all_noise),xlim=c(-1,1),ylim=c(0,10))
lines(density(max_nearby),col="blue")
lines(density(max_repeats),col="red")

и я получил enter image description here

Разве значение плотности на оси у не должно быть <1? Есть ли лучшие методы для наложения дистрибутивы ядра? </p>

str(density(all_noise))
List of 7
$ x        : num [1:512] -0.629 -0.626 -0.624 -0.622 -0.62 ...
$ y        : num [1:512] 1.41e-06 8.22e-06 3.16e-05 7.85e-05 1.24e-04 ...
$ bw       : num 0.003
$ n        : int 1924150
$ call     : language density.default(x = all_noise)
$ data.name: chr "all_noise"
$ has.na   : logi FALSE
- attr(*, "class")= chr "density"

str(density(max_nearby))
List of 7
$ x        : num [1:512] 0.154 0.156 0.158 0.16 0.162 ...
$ y        : num [1:512] 0.00111 0.00125 0.0014 0.00157 0.00175 ...
$ bw       : num 0.0543
$ n        : int 250
$ call     : language density.default(x = max_nearby)
$ data.name: chr "max_nearby"
$ has.na   : logi FALSE
- attr(*, "class")= chr "density"

str(density(max_repeats ))
List of 7
$ x        : num [1:512] 0.272 0.274 0.275 0.277 0.279 ...
$ y        : num [1:512] 0.00507 0.00607 0.00722 0.00854 0.01011 ...
$ bw       : num 0.0261
$ n        : int 34
$ call     : language density.default(x = max_repeats)
$ data.name: chr "max_repeats"
$ has.na   : logi FALSE
- attr(*, "class")= chr "density"

Ответы [ 2 ]

4 голосов
/ 07 сентября 2011

Площадь под кривыми плотности равна 1, но они могут превышать 1. Я не вижу ничего плохого в том, как вы это делаете.Для моих собственных целей единственным изменением, которое я бы сделал, было бы инициализировать окно графика значениями так, чтобы все плотности находились в границах окна графика.

Кроме того, относительно предыдущего ответа (я могу 'пока комментируйте) обратите внимание, что ylim является аргументом для plot(), а не для density() --- это не говорит density() что-либо делать.

0 голосов
/ 07 сентября 2011

плотность ядра график не является гистограммой. Вот пример: взгляните на минимум и максимум функции плотности и реальный минимум максимум данных.

x <-rnorm(100)
min(x)
[1] -2.748188
max(x)
[1] 3.689254
density(x)
Call:
density.default(x = x)
Data: x (100 obs.); Bandwidth 'bw' = 0.4114

       x                 y            
 Min.   :-3.9823   Min.   :0.0001091  
 1st Qu.:-1.7559   1st Qu.:0.0079287  
 Median : 0.4705   Median :0.0612352  
 Mean   : 0.4705   Mean   :0.1121754  
 3rd Qu.: 2.6969   3rd Qu.:0.2267729  
 Max.   : 4.9234   Max.   :0.3439259 

plot(density(x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...