我想在 R 中划分两个密度分布(或两个直方图)。我什至会“使用运算符从另一个中减去一个”——但除了采样和减法之外,我没有看到明显的方法/分开很长的路。
是否有一个函数/R 包允许人们在不采样的情况下操纵 R 密度?
我是 R 的新手,是 CERN 的根移植者,如果相关的话。
我想在 R 中划分两个密度分布(或两个直方图)。我什至会“使用运算符从另一个中减去一个”——但除了采样和减法之外,我没有看到明显的方法/分开很长的路。
是否有一个函数/R 包允许人们在不采样的情况下操纵 R 密度?
我是 R 的新手,是 CERN 的根移植者,如果相关的话。
对两个(或更多)密度进行操作的技巧是将它们的范围设置为相同。那么“x”向量将是相同的,并且“y”向量将在通常的算术运算中表现得非常好。
> xx <- rnorm(100)
> yy <- rnorm(100)
> yd <- density(yy, from=-3, to=3)
> xd <- density(xx, from=-3, to=3)
> plot(xd, col="red")
> str(xd)
List of 7
$ x : num [1:512] -3 -2.99 -2.98 -2.96 -2.95 ...
$ y : num [1:512] 0.0122 0.0126 0.0131 0.0136 0.0141 ...
$ bw : num 0.377
$ n : int 100
$ call : language density.default(x = xx, from = -3, to = 3)
$ data.name: chr "xx"
$ has.na : logi FALSE
- attr(*, "class")= chr "density"
> lines(yd$x, yd$y, col="red")
# difference of the densities
> lines(yd$x, xd$y-yd$y, col="green")