n <- 100
r <- rnorm(n, 0.5, 0.01)
xbar <- mean(r)
mu <- seq(from = 0, to = 1, by=0.0001)
F.mu <- function(xbar, mu) {
hstar <- xbar * log(xbar/mu) + (1-xbar) * log((1-xbar)/(1-mu))
ifelse(xbar >= mu, 1, exp(-n*hstar))
}
然后我想找到满足F.mu&gt;的最小值。 0.05。
答案 0 :(得分:3)
这样的事情可能是:
x <- F.mu(xbar, mu)
mu[which(x == min(x[x > 0.05]))]
# 0.6211
答案 1 :(得分:1)
您可以使用以前指定的值运行您的函数,然后取最小值&gt; 0.05。
set.seed(927254) # to make results comparable
n <- 100
r <- rnorm(n, 0.5, 0.01)
xbar <- mean(r)
mu <- seq(from=0.0, to=1, by=0.0001)
F.mu <- function(xbar.=xbar, mu.=mu){
hstar <-xbar*log(xbar/mu)+(1-xbar)*log((1-xbar)/(1-mu))
ifelse(xbar >= mu,1, exp(-n*hstar)) }
min(F.mu()[F.mu()>0.05])
# [1] 0.05018463