使用 curve() 函数显示逻辑曲线的变化

Using the curve() function to show changes in a logistic curve

我有一个问题要求使用 curve()geom_function() 来显示逻辑曲线如何随着每个参数(ab)从正值变化到否定。

他们给出了逻辑曲线: y = (exp(a + bx)/1 + exp(a + bx)

curve() 函数中,我可以看到将表达式放在哪里,但是当我将这个等式放入其中时它无法识别。

curve(expr, from = NULL, to = NULL, n = 101, add = FALSE,
  type = "l", xname = "x", xlab = xname, ylab = NULL,
  log = NULL, xlim = NULL, …)

我试过: curve(expr = (exp(a + bx)/1 + exp(a + bx)), from = -10, to = 10, n = 10)

我在其中为范围和 n 编了数字。但它不将其识别为函数或表达式。我必须以某种方式能够制作两个图,一个是 a 变化的,另一个是 b 在多个值上变化的。

有谁知道如何将表达式输入公式,然后操作变量?

您必须正确分隔 */。定义曲线为lg,然后循环绘制曲线。

lg <- function(x, a = 1, b = 1){
  exp(a+b*x) / (1+exp(a+b*x))
}
# curves with changing b
for (b in c(1:5)){
  curve(expr = lg(x, 1, b), from = -5, to = 5, n = 100, add= TRUE, col = b)
}

# curves with changing a
for (a in c(1:5)){
  curve(expr = lg(x, a, 1), from = -5, to = 5, n = 100, add= TRUE, col = a)
}