绘制具有多个参数的曲线

Plot curve with multiple parameters

我想使用 curve 为多个参数绘制一个图。

例如,假设我有以下二项式分布函数:

我可以像这样绘制概率质量函数的曲线:

curve(factorial(10)/(factorial(5)*factorial(5))*y^5*(1-y)^5, from=0, to = 1)

因为我们想要 0 < y < 1,但是这不适用于多个变量,因为 from = 0, to = 1 仅适用于单个变量。

所以 - 我怎样才能让曲线适用于类似的东西:

curve(factorial(10)/(factorial(10-x)*factorial(x))*y^x*(1-y)^{10-x}, from=0, to = 1)

但也表明 x 的分布函数小于或等于 5,所以 from = 0, to = 5?

您可以循环从 0 到 5 的序列。

curve(factorial(10)/(factorial(5)*factorial(5))*x^5*(1-x)^5, from=0, to=1, 
      ylim=c(0, 1), type='n')
invisible(lapply(seq.int(.005, 5, .005), \(y) 
       curve(factorial(10)/(factorial(10 - x)*factorial(x))*y^x*(1 - y)^{10 - x}, 
             add=TRUE))
)

invisible 避免控制台混乱。

估计可以直接用dbinom

curve(dbinom(5, 10, y), xname = "y")

或者如果你需要改变 x,你可以尝试

sapply(0:10, function(k) curve(dbinom(k, 10, y), xname = "y", add = TRUE, ylim = c(0, 1)))