问题描述
我刚刚开始学习R,并且想为函数添加曲线。 但是收到“ logistic(x,c(0.05,3))中的错误:找不到对象't_0'”
logistic<-function(t,theta=c(b,t_0)) {
return((exp(b*(t-t_0))/(1+exp(b*(t-t_0))))) #function
}
x<-c(-30:30)
curve(logistic(x,c(0.05,3)),from=-30,to=30,add=TRUE)
解决方法
您不能将向量传递给R中的函数。可以传递向量,但是使用[]
索引来访问其元素:
logistic<-function(t,theta=c(b,t_0)) {
return((exp(theta[1]*(t-theta[2]))/(1+exp(theta[1]*(t-theta[2]))))) #function
}
或者您可以将每个元素作为不同的参数传递:
logistic<-function(t,b,t_0) {
return((exp(b*(t-t_0))/(1+exp(b*(t-t_0))))) #function
}