curve add = TRUE但绘制独立的graphincs

时间:2017-12-17 08:00:54

标签: r histogram curve

在统计学中,存在拒绝方法来生成随机变量。 (但这不是主要问题)

我完成了采样,并希望在一个屏幕上绘制图形。

我认为这是一个' add = TRUE'选项,我进行了设置。

但它给我看了一个新的屏幕。

我不知道出了什么问题。

我很抱歉发布一个微不足道的问题,但我没有其他地方可以问。

nsample=10000
fx = function(x){2*exp(-(x^2)/2)/sqrt(2*pi)}
gx = function(x){exp(-x)}
fxdivgx = function(x){(2*exp(-(x^2)/2)/sqrt(2*pi)/exp(-x))}

grid=seq(0.0,5.0, length.out =1000)
which(fxdivgx(grid)==max(fxdivgx(grid)))
grid[201] #x valuable which fx/gx has maximum value
const = fxdivgx(grid[201])
const
fn = function(x){((2*exp(-(x^2)/2)/sqrt(2*pi))/(exp(-x)*const))}

result2 = list()
result2$candi=rexp(nsample)
result2$targetDen=fn(result2$candi)
result2$keep=ifelse(runif(nsample)<result2$targetDen, TRUE, FALSE)

hist(result2$candi[result2$keep], freq=F, breaks=100)
curve(2*exp(-(x^2)/2)/sqrt(2*pi), add='TRUE', col='red')

这是我的代码。

当我运行此代码时,结果将打印在不同的屏幕上。

如何在一个屏幕上打印两张图片?

hist(result$candi[result$keep], breaks=100)
curve((2*exp(-(x^2)/2)/sqrt(2*pi)), add=TRUE, col='red')

绘制这两行后,我得到了图形。 enter image description here

0 个答案:

没有答案