3

我正在尝试创建一个执行以下操作的函数:

我希望“n”成为函数中 x 和 u 的数量。

例如,

n=3

Myfunction=function(x,n){


 assign(paste("u",i,sep=""),x[i])

return(sum(u1+u2+...un))

}

在我通过 u50 创建我的 u1 之后,我怎样才能将它们回调,以便我可以将它们与返回函数相加?使用 paste("u",i,sep="") 创建一个新的字符串对象,而不是以前创建的变量。

感谢您的时间和帮助!

4

1 回答 1

1
 x=1:3
 n=3

 Myfunction=function(x,n){
    for (i in 1:n)  assign(paste("u",i,sep=""),x[i])
    return(sum(unlist(mget(paste("u",1:n,sep="")))))                 
 }

 Myfunction(x,n)

 #gives 6

顺便说一句:我认为这只是您的一些更复杂问题的简约示例。否则,当然会有一个更短的解决方案来总结一些值。;)

于 2013-10-28T00:03:52.983 回答