我想绘制以下函数:
,其中
设r(0,1)和\ mu in(0,1)但在我的情况下\ mu = 0.5。我的代码是关注的,我有问题来制作这个函数的图。
n <- 10
r <- seq(from=0.0, to=1, by = 0.0001)
h.star <- r*log(r/0.5)+(1-r)*log((1-r)/(1-0.5))
F.mu <- function(r) {
if (r > 0 & r < 0.5)
F.mu <- exp(-n*h.star)
else (r > 0.5 & r < 1)
F.mu <- 1
}
plot(r, F.mu)
xy.coords(x,y,xlabel,ylabel,log)中的错误:'x'和'y'长度 不同
答案 0 :(得分:3)
我想你想要这个:
n <- 10
r <- seq(from=0.0, to=1, by = 0.0001)
F.mu <- function(r, mu) {
H.star <- r*log(r/mu) + (1-r)*log((1-r)/(1-mu))
ifelse(r >= mu, 1, exp(-n*H.star))
}
plot(r, F.mu(r, mu=0.5))
您可以在函数中减少所需的计算:
H.star <- ifelse(r>=mu, 0, r*log(r/mu) + (1-r)*log((1-r)/(1-mu)))