如何使用sapply循环函数?

时间:2013-04-18 14:54:40

标签: r function sapply

我想计算二次方程的不同y值的根。但是,当我运行以下代码得到一个我不明白的错误。如果y只是一个数值,而不是向量c(0.6,0.4,0.9),它就可以工作。我错误地使用了sapply,还是将变量传递给错误的函数?

# Paramters for quadratic poly
a<-0.875
b<-0.3779
c<-0.098
y<- c(0.6,0.4,0.9)

# quadratic function
fun<-function(x) c-y+b*x+a*x^2

# Finding root in specific interval function
root<- function (x) uniroot(fun,c(0,2))$root

# Finding roots for a list of y values
res<-sapply(y,root)

1 个答案:

答案 0 :(得分:2)

您可以这样做:

 sapply(y,function(y) uniroot(fun,c(0,2),y=y,c=c,a=a,b=b))