我试图用optimize()
找n个以下函数的最小值(Clopper皮尔森下限):优化全球最小
f <- function (n, p=0.5)
(1 + (n - p*n + 1)/
(p*n*qf(p= .025, df1= 2*p, df2= 2*(n - p + 1))))^-1
这里就是我试图优化它:
n_clop <- optimize(f.1, c(300,400), maximum = FALSE, p=0.5)
n_clop
我在间隔[300,400]上做了这个,因为我怀疑它的值在它之内,但最终我想在0和无穷之间进行优化。看起来这个命令产生了一个局部最小值,因为不管它产生的时间间隔的下限是否为最小值 - 这不是我从clopper-pearson得知的。所以,我的两个问题是如何正确地找到R中的全局最小值以及如何在任何时间间隔内如此超过?
此外,我希望函数等于0.5(比例置信区间的半宽)并计算n。不确定我的设置是否正确。 –
顺便说一下,SO政策是你不需要在问题标题中包含编程语言(R)的名称 - [r]标记应该足够了 –
没有通用的方法来执行此操作每个功能。你愿意承担什么来解决这个问题?全局优化对任何语言都不是一个容易解决的问题。 – MrFlick