我想要绘制时长度错误

时间:2018-02-07 08:54:55

标签: r plot

我想绘制以下函数:

,其中

设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'长度   不同

1 个答案:

答案 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)))