Arguments of a function
Normally one designs their function to input a formula in such a case
rather than design it to take the names directly. Thus:
f <- function(formula = ~ x1 + x2) {
xs <- c(x1 = 1, x2 = exp(1), x3 = 2*pi)
v <- all.vars(formula)
stopifnot(length(v) == 2, all(v %in% names(xs)))
sum(xs[v])
}
# test
f()
f(~ x1 + x2) # same
f(~ x2+x3)
On Fri, Jan 8, 2010 at 1:15 PM, Lisa <lisajca at gmail.com> wrote:
Dear all,
I have a question about how to set arguments in my own function. For
example, I have a function that looks like this:
my.f <- function(a = x1, b = x2)
{
? x1 = equation 1
? x2 = equation 2
? x3 = equation 3
? y = a + b
}
x1, x2, and x3 are temporary variables (intermediate results) calculated
from other variables within the funciton. I want to use two of these three
variables to calculate y, and write R script as below:
my.f(a = x1, b = x2)
or
my.f(a = x2, b = x3)
The error information shows that: ?objects 'x1', 'x2', or 'x3' not found?.
Can anybody help me solve this problem? Thanks in advance.
Lisa
--
View this message in context: http://n4.nabble.com/Arguments-of-a-function-tp1009883p1009883.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________ R-help at 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.