[R] Function call within a function.
Stephen Tucker
brown_emu at yahoo.com
Fri Jun 29 00:00:38 CEST 2007
Dear John,
Perhaps I am mistaken in what you are trying to accomplish but it seems like
what is required is that you call lstfun() outside of ukn(). [and remove the
call to lstfun() in ukn()].
nts <- lstfun(myfile, aa, bb)
results <- ukn(dd1, "a", "b", nts$cda)
Alternatively, you can eliminate the fourth argument in ukn() and assign (via
'<-') the results of lstfun() to 'nam1' within ukn() instead of saving to
'nts'...
--- John Kane <jrkrideau at yahoo.ca> wrote:
> I am trying to call a funtion within another function
> and I clearly am misunderstanding what I should do.
> Below is a simple example.
> I know lstfun works on its own but I cannot seem to
> figure out how to get it to work within ukn. Basically
> I need to create the variable "nts". I have probably
> missed something simple in the Intro or FAQ.
>
> Any help would be much appreciated.
>
> EXAMPLE
>
-------------------------------------------------------------------------------
> # create data.frame
> cata <- c( 1,1,6,1,1,4)
> catb <- c( 1,2,3,4,5,6)
> id <- c('a', 'b', 'b', 'a', 'a', 'b')
> dd1 <- data.frame(id, cata,catb)
>
> # function to create list from data.frame
> lstfun <- function(file, alpha , beta ) {
> cda <- subset(file, file[,1] == alpha)
> cdb <- subset (file, file[,1]== beta)
> list1 <- list(cda,cdb)
> }
>
> # funtion to operate on list
> ukn <- function(file, alpha, beta, nam1){
> aa <- alpha
> bb <- beta
> myfile <- file
> nts <- lstfun(myfile, aa, bb)
> mysum <- nam1[,3]*5
> return(mysum)
> }
>
> results <- ukn(dd1, "a", "b", nts$cda)
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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