-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
A) you should give and return the variables through input/output parameter of the functions, e.g. pwtset <- function(n, inout) { if (n < 100){ inout$ncof <- n } else { inout$ncof <- n -100 } ... return(inout) } ford <- function(inout) { ... n <- 104 inout <- pwtset(n, inout) print(inout$ncof) ... return (inout) } inout <- list(ncof=0, ioff=0, joff=0, sig=0.0) inout <- ford(inout) ... B) If you really need access to the global variables then use "assign" and "get" pwtset <- function(n) { if (n < 100){ ncof <- n } else { ncof <- n -100 } assign ("ncof", ncof, envir=.GlobalEnv) ... return(inout) } ford <- function(inout) { ... n <- 104 inout <- pwtset(n, inout) ncof <- get("ncof", envir=.GlobalEnv) print(ncof) ... } ... ford() ... This programing style has a serious disadvantage: Debugging can become very difficult, since the value of ncof in .GlobalEnv might not be what you expect. Yours sincerely Sigbert -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFJ0g4jWvYUYQkj1zkRAiopAJ49Vo+NriS+R7/24QGwtPB43wI/HQCdGvYE PjgZ+Vn0P30D5S3WvJrMX9s= =e9rL -----END PGP SIGNATURE----- ______________________________________________ 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.