R中的多个变量作为向量输入

时间:2014-02-06 20:11:39

标签: r function

这可能是非常基本的,但我无法在线找到解决方案。 简化,我想要做的就是使用向量作为函数的多个输入变量的集合。

想象一下简单的功能

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,而是创建一个创建向量的循环

1 个答案:

答案 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))