嗨,我刚刚开始学习R,想在函数中添加曲线

问题描述

我刚刚开始学习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
}