【发布时间】:2014-08-24 21:34:13
【问题描述】:
我有两个向量 x 和 y。我使用以下函数创建了一个网格:
v = expand.grid(x, y)
我有一个函数定义如下
N <- function(a, b , dat){
m = ncol(Filter(function(z) a*max(z)*min(z) < b , dat[1:ncol(dat)]))
return(m)
}
然后我需要在x,y 的网格上最大化N:
Maximize <- function(x , y ,dat){
v = as.matrix(expand.grid(x,y))
# Here is where I want to map the values of v and get the maximum element and
# get the tuple in v that maximized N
temp1 <- max(apply(v , 1 , N(v[[1]] , v[[2]] , dat)))
}
谢谢
【问题讨论】:
-
你不能只做
v$x + v$y吗? (将v认为不是二维元组的集合而是两个平行向量可能会有所帮助) -
嗨@DavidRobinson,我打算将这个概念用于地图内部更复杂的功能。
-
我正在对网格进行一些优化,所以我需要传递一个函数,该函数从两个元素的笛卡尔积中获取元素。
-
所以我想将网格中的整个值传递给一个函数,其中函数迭代地应用于列表中的每个元素,然后我可以取最小值。
-
您可能希望在原始问题中提供更多上下文。