用2个或更多变量在R中绘制函数曲线 [英] Plotting a function curve in R with 2 or more variables

查看:100
本文介绍了用2个或更多变量在R中绘制函数曲线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎样绘制一个函数的曲线,如

  vpd = function(k,D){exp(-k * D)} 

in R?

我能找到的唯一问题是

如何绘制R中的函数曲线



我试过了

  plot.function(vpd,from = 0,to = 1,n = 101)



$ p
$ b $ $ p $ code $>曲线(vpd,from = 0,to = 1,n = 101, add = FALSE,
type =l)

但只能得到

  -k * D错误:'D'缺失

我之后是 D vs vpd (假设 k 是常量。



更新。修正了它!

  vpd < -  function(D,k = 0.05){exp(-k * D)}#D是x轴
图(vpd,from = 1,to = 100,ylim = 0:1)




  library(功能)

k < - 0.05

vpd < - 函数(k,D){exp(-k * D)}
vpd_given_k < - Curry(vpd,k = 0.05)

曲线(vpd_given_k,ylim = c(0,1),
from = 1,to = 100,
xlab =D,ylab = paste(vpd | k =,k))


How can I draw a curve for a function like

vpd = function(k,D){exp(-k*D)}

in R?

The only question I could find was

How to plot a function curve in R

I've tried

plot.function(vpd, from = 0, to = 1, n = 101)

and

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

but only get

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

What I'm after is a plot of D vs vpd(0:1) assuming k is constant.

Update. Fixed it!

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

解决方案

While Mamoun Benghezal's answer works for functions you define yourself, there may be cases where you want to plot a predefined function that expects more than 1 parameter. In this case, currying is a solution:

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))

这篇关于用2个或更多变量在R中绘制函数曲线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆