0

我想在 R 中划分两个密度分布(或两个直方图)。我什至会“使用运算符从另一个中减去一个”——但除了采样和减法之外,我没有看到明显的方法/分开很长的路。

是否有一个函数/R 包允许人们在不采样的情况下操纵 R 密度?

我是 R 的新手,是 CERN 的根移植者,如果相关的话。

4

1 回答 1

2

对两个(或更多)密度进行操作的技巧是将它们的范围设置为相同。那么“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")
于 2013-06-28T21:57:14.330 回答