这可能是非常基本的,但我无法在线找到解决方案。 简化,我想要做的就是使用向量作为函数的多个输入变量的集合。
想象一下简单的功能
fun1<-function(a,b,c,d) {
a+b+c+d
}
inp<-c(1,2,3,4)
显然这不起作用,但我想要一些等同于写作的东西
fun1(inp)
或
mapply (fun1, inp)
给我结果(在这种情况下为10)
有可能这样做吗?
由于 塞巴斯蒂安
修改的
我想避免手动输入它们...因为我正在进行遗传编程,并希望能够更改函数的变量数量,而无需手动合并变量。
我以为我可以以某种方式生成不同的输入向量。
fitnessFunction1 <- function(f){
for(k in 1:N) {
meanerrors[k] <- rmse(mapply(f, input1[k,1], input1[k,2], input1[k,3], input1[k,4], input1[k,5]), output1[k])
}}
不想在那里写入所有input1,而是创建一个创建向量的循环
答案 0 :(得分:1)
fun1<-function(x) {
sum(x)
}
inp<-c(1,2,3,4)
fun1(inp)
或者如果必须以不同方式使用它们,
使用
a<-x[1]
b<-x[2]
.......
内部功能
,或者 与您的原始功能,
do.call(fun1, as.list(inp))