我有一个共同的可能性,我需要最大化,这由大约25个不同的变量确定。我希望有一种方法可以找到可变值的组合,从而使该功能最大化,而无需借助25个“ for”循环来循环遍历每个可能的值。
[这是这种可能性的一个很小的例子,使用'for'循环方法将其最大化,其中'temp'计算该可能性的值,而test是记录所使用变量值的向量:
h1=23
h2=31
test=c(NA,NA,NA,NA,0)
for (N in seq(60,150,10)) {
for (p1 in seq(0.01,1,.01)) {
for (p2 in seq(0.01,1,.01)) {
for (S1 in seq(0.5,1,.005)) {
temp=factorial(N)/(factorial(h1)*factorial(h2)*factorial(N-h1-h2))*(p1)^h1*((1-p1)*S1*p2)^h2*(1-(p1+(1-p1)*S1*p2))^(N-h1-h2)
if (temp>test[5]) test=c(p1,p2,S1,N,temp)
}
}
}
}
test
谢谢,谢尔盖
尝试optimize()函数,
这里是我找到的快速教程:https://www.dummies.com/programming/r/how-to-find-minimum-or-maximum-values-for-functions-in-r/
希望你最好!!>