如何定义数据帧中的某些参数可能不被使用

  • 本文关键字:参数 何定义 定义 数据帧 r
  • 更新时间 :
  • 英文 :


我有这个数据帧:

df <- data.frame(ref_ws = ref_ws,
turb_ws = turb_ws,
ref_wd = ref_wd,
fcf = turb_ws/ref_ws,
ref_fi = ref_fi,
shear = shear,
turbulence_intensity = turbulence_intensity,
inflow = inflow,
veer = veer)

这是我定义可选参数(shear, turbulence_intensity, inflow and veer(的函数的一部分

trial_plots <- function(ref_ws,turb_ws,ref_wd,shear,turbulence_intensity,inflow,veer)

变量CCD_ 2是强制性的。

如果我们在函数中定义参数,可选的将为每个参数生成一个单独的图。

例如,如果不使用shear,我想继续,看看它是否可以生成关于turbulence_intensity的下一个图,以此类推

目前这是一个错误:

Error in data.frame(ref_ws = ref_ws, turb_ws = turb_ws,ref_wd = ref_wd,  : 
argument "veer" is missing, with no default

如何将这些参数定义为可选参数?

Hadley建议使用NULL值作为默认参数,并在函数体中使用is.null测试:

有时您想要添加一个非平凡的默认值,这可能需要几行代码才能计算。如果需要,您可以使用missing((来有条件地计算它,而不是在函数定义中插入该代码。然而,如果不仔细阅读文档,就很难知道哪些参数是必需的,哪些是可选的。相反,我通常将默认值设置为NULL,并使用is.NULL((来检查是否提供了参数。

来自高级R书籍

我认为这是一个有用的建议,我个人经常使用它。

最新更新