绘制具有多个参数的曲线
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)))
我想使用 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)))