【发布时间】:2018-02-23 08:37:54
【问题描述】:
我有数据
dat1 <- data.frame(a=1:3, b=rnorm(3))
dat2 <- data.frame(a=c(rep(1,3),rep(2,5),rep(3,4)), c=runif(12,1,50))
以及将两个数据帧作为输入的函数
foo <- function(dat1,dat2,par){
if(par< 25){return(dat1$b*par)}
if(par>=25){return(sum(dat2$c>par))}
}
如果它嵌入到a 的不同值的循环中,这可能会起作用。
但是,我想找到par 的值,它可以在a 的所有值中最小化foo 的输出。 optim() 函数应该能够做到这一点,但我的问题是我需要将两个不同维度的数据帧传递给它。我怀疑某种形式的列表可能会有所帮助,但不知道如何。
【问题讨论】:
标签: r optimization