【发布时间】:2013-07-03 15:22:03
【问题描述】:
申请很简单,但这是我要破解的简而言之:
在多参数回归中,优化器用于找到参数函数的最佳拟合,例如 x1,x2 数据。通常,如果优化器尝试优化转换后的参数(例如,使用 R 优化器,例如 DEoptim、nls.lm),优化器可以更快地执行特定功能。 根据我的经验,一个参数函数对不同参数的不同转换甚至更好。
我希望将 x.trans 中的不同函数(参见下文)应用于 x.val 中不同但位置对应的元素:
一个可以使用的模拟示例。
#initialise
x.val <- rep(100,5); EDIT: ignore this part ==> names(x.val) <- x.names
x.select <- c(1,0,0,1,1)
x.trans <- c(log10(x),exp(x),log10(x),x^2,1/x)
#select required elements, and corresponding names
x.val = subset(x.val, x.select == 1)
x.trans = subset(x.trans, x.select == 1)
# How I tried: apply function in x.trans[i] to x.val[i]
...
有什么想法吗? (我尝试过 apply 和 sapply 但无法获取存储在 x.trans 中的函数)
【问题讨论】:
-
这个例子并没有真正起作用,因为 x.trans 应该是一个函数,据我所知?
-
您的示例尚未准备好运行。
x和x.names在哪里?我对你的理解正确吗?您想将x.val分组并为每个分组应用不同的功能吗? -
@MatthewPlourde Afaik 他想将第一个函数应用于第一个元素,将第二个函数应用于第二个元素等,取决于先前的选择。所以可能需要一个函数列表。
-
我现在明白了,我错过了最后的评论,这很清楚。 @TobyElTejedor 看看
?mapply。 -
好问题,好答案。
标签: r optimization apply