【问题标题】:Superimposing Kernel Distributions in R在 R 中叠加内核分布
【发布时间】:2011-11-11 18:17:44
【问题描述】:

我正在尝试使用

在绘图中放置 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")

我得到了

y轴上的密度值不应该

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"

【问题讨论】:

    标签: r plot kernel distribution


    【解决方案1】:

    kernel density 图不是直方图。这是一个例子:看一下密度函数的最小值和最大值以及数据的真实最小值最大值。

    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))
    

    【讨论】:

      【解决方案2】:

      密度曲线下的 面积 为 1,但它们可以超过 1。我认为您这样做没有任何问题。出于我自己的目的,我要做的唯一更改是使用值初始化绘图窗口,以便所有密度都在绘图窗口的范围内。

      另外,关于上一个答案(我还不能评论),请注意 ylimplot() 的参数,而不是 density() --- 它没有告诉 density() 做任何事情。

      【讨论】:

        猜你喜欢
        • 2012-11-10
        • 1970-01-01
        • 2018-07-20
        • 2020-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-06
        • 1970-01-01
        相关资源
        最近更新 更多