On 12-10-03 1:59 AM, ishi soichi wrote:
platform x86_64-apple-darwin9.8.0
arch x86_64
os darwin9.8.0
system x86_64, darwin9.8.0
version.string R version 2.13.1 (2011-07-08)
I am trying to write a function that takes a few objects as input.
test <- function(directory, num = 1:100) {
}
the argument, "num", has the default value. But when the function is
called, it can take an array as well,
test("directory", c(1, 2, 3))
I don't understand the question. You've passed the vector 1:3 as the
num argument (by position). Do you want to prevent someone from
passing an array?
I can parse the both arguments by converting them into string, but I am
wondering if there is a better (more efficient) way to achieve this.
I don't understand what you want to achieve.
Perhaps, using built-in R functions can help, I suppose?
Does anyone have any idea for the function taking more than one kind of
argument?
In most functions, R allows any type of argument in any position. If
your function only works for one type, usually an error will follow, but
you can add your own tests for better error messages. For example,
stopifnot(is.numeric(num))
will trigger an error if num is a non-numeric object. See also stop()
for an unconditional error (presumably controlled by an if()).
Duncan Murdoch
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.