[英]How to plot an equation changing value of one variable in R using ggplot
我有一个方程,它给出的值介于 1 和 0 之间,并且想在 R 到 plot 中使用 ggplot 如何改变方程中的一个变量(年龄)会改变 Z78E6221F6393D1356681DB398CZF1 值。 我希望 X 轴是从 0 到 100 的变量范围,并且 plot 是 X 轴上方程的 output 值。
我像这样设置传递给方程的变量:
age = 100
d <- (365/4)*age
k <- 5
N <-8
m <- 15000000
Nm <- N*m
p <- 1 - (1 - (1 - (1 - u)^d)^k)^Nm
我确信在 R 中必须有一种简单的方法来给出一系列年龄值以传递给方程,并且 plot 将 P 的结果值作为一条线。 但我不确定如何最好地了解它。 我是否需要事先填写范围内的值表,还是可以将范围本身放在 ggplot 命令中?
提前致谢
您可以使用stat_function
。
p <- function(age, u, k, N, m)
{
1 - (1 - (1 - (1 - u)^((365/4) * age))^k)^(N * m)
}
ggplot(data.frame(age = 1:100), aes(x = age)) +
stat_function(fun = p, args = list(u = 0.000005, k = 5, N = 8, m = 15000000)) +
labs(y = "p")
问题中没有定义变量u
,但这是一条逻辑曲线,将u
设置为 0.000005 会将范围的中间值置于 p = 0.5,因此u
可能接近该值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.