【发布时间】:2019-01-10 19:59:19
【问题描述】:
在 R 中,可以通过指定参数的默认值来设置带有可选参数的函数。例如,如果我的参数是 x 并且 y=0,那么该函数需要 x 的输入。如果给定 y,它将使用 y 的输入,但如果没有给出 y 的值,它将设置 y=0。
有时我至少需要两个参数之一,但如果输入不正确,同时获取这两个参数可能会很危险。
作为我正在考虑的示例,请考虑数据集可能包含“班次”(上午、下午、夜间 - 一个因素)和一天中的时间的列。如果我得到一天中的某个时间,那么我可以计算班次,并且不需要为该参数获取值。如果我将班次作为输入,那么我不需要一天中的时间。我想知道事件发生的大致时间,因此我需要其中一条或另一条信息。不幸的是,当我得到两个输入时,可能存在不匹配 - 输入时间可能是上午 8 点,输入班次可能是下午班次。这是个问题。
有没有办法在函数参数(在函数定义中)中配置这个要求(获取班次或获取时间,但不要同时获取),或者我必须将两者都指定为可选参数并执行函数内的检查(即至少一个或另一个但不是不匹配)?
【问题讨论】:
-
您不能在函数签名中执行此操作。正如您已经说过的,您必须将两者都指定为可选参数并在函数内进行检查
标签: r function parameter-passing logical-operators xor