我得到了这个功能。
change <- function(score, d, k, p) {k*(score - 1/(1+k^(d/p)))}
我想在一个图中绘制该函数对于一系列参数 d 和 p 的所有结果。在 r 基数中,就是这样。
parameters <- c(100:400)
colorshelf <-rainbow(length(parameters)) #red is low
for(i in seq_along(parameters)) {
print(i)
curve(change(score=1, d=x, k=100, p=parameters[i]), from=0, to=500, add=T, col=colorshelf[i])
}
但我认为这在 ggplot2 中一定是可能的,但我无法理解这一点。我目前被这个问题困扰。任何帮助表示赞赏。
ggp <- ggplot(data.frame(Ds=c(0:1000), Ps=c(0:1000)), aes(x=Ds, col=Ps)) +
stat_function(fun=change, args=list(score=1, d=Ds, k=100, p=Ps))
ggp