在R中绘制包含两个或更多变量的函数曲线



如何在R中绘制函数vpd = function(k,D){exp(-k*D)}的曲线?

我想要一个Dvpd(0:1)的图,假设k是恒定的。

我能找到的唯一问题是如何在R中绘制函数曲线。

plot.function(vpd, from=0, to=1, n=101)
curve(vpd, from=0, to=1, n=101, add=FALSE, type = "l")

但只得到

Error in -k * D : 'D' is missing

更新:解决了!

vpd <- function(D,k=0.05){exp(-k*D)} # D is the x axis 
plot(vpd, from=1, to=100, ylim=0:1)

虽然Mamoun Benghezal的答案适用于您自己定义的函数,但在某些情况下,您可能希望绘制期望超过1个参数的预定义函数。在这种情况下,套用是一个解决方案:

library(functional)
k <- 0.05
vpd <- function(k,D){exp(-k*D)}
vpd_given_k <- Curry(vpd, k = 0.05)
curve(vpd_given_k, ylim = c(0, 1),
      from = 1, to = 100, 
      xlab = "D", ylab = paste("vpd | k = ", k))

最新更新