我正在尝试创建一个类似这样的函数:
我希望“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 =“”)创建一个新的字符串对象,而不是以前创建的变量。
感谢您的时间和帮助!
答案 0 :(得分: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
顺便说一句:我认为这只是你的一些复杂问题的简约例子。否则,当然,总结一些值会有一个更短的解决方案。 ;)