【发布时间】:2012-03-29 12:25:14
【问题描述】:
我在R中的写作功能还是新手。
我尝试编写一个需要: 要么是参数“a”,要么是参数“b”和“c”。
此外,这个函数还有一些带有默认值的参数。
我怎样才能最好地处理非此即彼的参数。如果提供了“a” 我不需要“b”和“c”,反之亦然,但至少需要一个。
此外,“a”是一个字符串(水果,如“Apple”、“Pear”等),而“b”和“c”是值。背景中有数据框,其中为每个水果定义了值“b”和“c”。因此,使用该函数需要一个有效的水果(参数“a”)或值“b”和“c”本身。
我开始使用的函数:
f <- function(a,b,c,d=1,e=2)
【问题讨论】:
-
也许最简单的方法是将一些
if(missing(a)){if(missing(b) | missing(c)) [do something useful]}代码扔到函数的开头。重要说明:避免使用“c”作为变量名,因为它与内置的c()函数冲突。