使用模拟找到概率 (()>()) 的近似值

Find approximate value for the probability (()>()) using simulation

我模拟了以下分布:

在统计程序 R 中,现在我必须找到概率 P(log(Y ) > sin(X)) 的近似值。我怎样才能在 R 中做到这一点?谁能帮帮我?

我隐藏了我自己的模拟,而其他有同样问题的人不应该 复制它。但是我有另一个 post 的模拟也可以工作:

n <- 1e4
X <- data.frame(x = runif(n, -1, 1), y = runif(n, 0, 1), z = runif(n, 0, 3/2))
i <- with(X, 0 < y & x^2 + y^2 < 1 & z <= (3/2)*y) 
X <- X[i, ]

例如,我如何使用此模拟来找到 R 中的概率 P(log(Y) > sin(X))?

我不知道如何 post 没有你的朋友也会看到它的解决方案......;-)

# part 1: prepare probability density distribution on rect -1,...1
n <- 1e4
X <- data.frame(x = runif(n, -1, 1), y = runif(n, -1, 1), h=1)
X$h <- 3/2*X$y  # set probability density h = 3/2*y
head(X)

# part 2: restrict to half disk and normalize probability h to equal 1
i <- with(X, 0 < y & x^2 + y^2 < 1) 
X <- X[i, ]
X$h <- X$h / sum(X$h)
plot(X[, 1:2], asp=1, pch='.')

# measure probability for points with log(y) > sin(x)
ii <- with(X, log(y) > sin(x))
points(X[ii, 1:2], pch='.', col="red")
p <- sum(X[ii, "h"])
p