Hello R,
I would like to find out how to generate array full of functions. I tried it
like this:
fv=array(,dim=c(1,10))
V=c(1:10)
for (i in 1:10){
fv[i]<-function(x)(V[i]-b*a*x) # b, x are constants.
}
But it returns:
"incompatible types (from closure to logical) in subassignment type
fix"
--
View this message in context:
http://r.789695.n4.nabble.com/filling-array-with-functions-tp3468313p3468313.html
Sent from the R help mailing list archive at Nabble.com.
On Fri, 2011-04-22 at 10:02 -0700, derek wrote:> Hello R, > > I would like to find out how to generate array full of functions. I tried it > like this: > > fv=array(,dim=c(1,10)) > V=c(1:10) > for (i in 1:10){ > fv[i]<-function(x)(V[i]-b*a*x) # b, x are constants. > } > > But it returns: > "incompatible types (from closure to logical) in subassignment type fix" >You could parse individual expressions. fv=array(,dim=c(1,10)) V=c(1:10) for (i in 1:10){ fv[i]<-parse(text=paste("function(x)(V[", i, "]-b*a*x)", sep="")) } a=1;b=1 eval(fv[3])(7) Hope this helps.
Thats not exactly what I hoped for. But for now it has to suffice. More
transparent syntax would be nicer.
Exactly what I would like to do is:
for (i in 1:9){
f[i]<-function(x){
a*x+b)
}
curve(f[i], 0, 8)
sol[i]<-uniroot(f[i],c(0, 8))$root
points(sol[i],0,pch=16,cex=1,col="red")
}
Perhaps is item for a wish list?
--
View this message in context:
http://r.789695.n4.nabble.com/filling-array-with-functions-tp3468313p3471463.html
Sent from the R help mailing list archive at Nabble.com.