[R] Set default value

Erik Iverson iverson at biostat.wisc.edu
Tue Jul 1 17:23:31 CEST 2008


You should consult "An Introduction to R", section 11, "Writing your own 
functions", along with any beginner books on R.

http://www.r-project.org/doc/bib/R-books.html

test <- function(x = 2) {
    x^2
}

test() ## will give 4
test(3) ## will give 9



Marco Salvi wrote:
> Hi, i'm tryng to build a function that take some input from user and if the
> user doesn't provide that inputs the function should set a deafult value. I
> have taken as example a function that i found in the package dlm but with
> the same code i receive an error (the component is missing...). According to
> the code below R seems to set 1 to "phi" instead of "p" ! The only way to
> solve this problem that i found is to change "p" to "P", but this is clearly
> the wrong solution ! There is some other way to set default value with that
> function structure ? thanks
> 
> ------------
> 
> Stem.Skeleton <- function(...) {
> 
>     if (nargs() == 1)
> 
>         x <- as.list(...)
> 
>     else
> 
>         x <- list(...)
> 
> 
>     ## required components
> 
>     comp <- c("phi", "p", "K")
> 
> if(is.null(list(x$p))) x$p = 1
> 
> compInd <- match(comp, names(x))
> 
>    if (any(is.na(compInd)))
> 
>         stop(paste("Component(s)", paste(comp[is.na(compInd)], collapse=", "
> ),
> 
>                    "is (are) missing"))
> 
> ....
> ---------
> 
> 
> Marco
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> 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.



More information about the R-help mailing list