If you want to make changes more permanent, you should take a look at the "Rprofile.site" file. This one gets loaded in R at the startup of the console. You can set the CRAN there if you want too.
Cheers Joris On Fri, Jun 25, 2010 at 1:32 AM, Joshua Wiley <jwiley.ps...@gmail.com> wrote: > Hello Ralf, > > Glad it works for you. As far as avoiding any prompting if packages > are out-of-date; I am not sure. It honestly seems like a risky idea > to me to have old packages being overwritten without a user knowing. > However, I added a few lines of code here to set the CRAN mirror, and > revert it back to whatever it was when the function ends to make it as > inobtrusive as possible. > > > load.fun <- function(x) { > old.repos <- getOption("repos") > on.exit(options(repos = old.repos)) #this resets the repos option > when the function exits > new.repos <- old.repos > new.repos["CRAN"] <- "http://cran.stat.ucla.edu" #set your favorite > CRAN Mirror here > options(repos = new.repos) > x <- as.character(substitute(x)) > if(isTRUE(x %in% .packages(all.available=TRUE))) { > eval(parse(text=paste("require(", x, ")", sep=""))) > } else { > update.packages() # recommended before installing so that > dependencies are the latest version > eval(parse(text=paste("install.packages('", x, "')", sep=""))) > eval(parse(text=paste("require(", x, ")", sep=""))) > } > } > > Best regards, > > Josh > > On Thu, Jun 24, 2010 at 3:34 PM, Ralf B <ralf.bie...@gmail.com> wrote: >> Thanks, works great. >> >> By the way, is there a say to even go further, and avoid prompting >> (e.g. picking a particiular server by default and updating without >> further prompt) ? I could understand if such a feature does not exist for >> security reasons... >> >> Thanks again, >> Ralf >> >> On Thu, Jun 24, 2010 at 5:12 PM, Joshua Wiley <jwiley.ps...@gmail.com> wrote: >>> On Thu, Jun 24, 2010 at 1:51 PM, Joshua Wiley <jwiley.ps...@gmail.com> >>> wrote: >>>> Hello Ralf, >>>> >>>> This is a little function that you may find helpful. If the package >>>> is already installed, it just loads it, otherwise it updates the >>>> existing packages and then installs the required package. As in >>>> require(), 'x' does not need to be quoted. >>>> >>>> load.fun <- function(x) { >>>> x <- as.character(substitute(x)) >>>> if(isTRUE(x %in% .packages(all.available=TRUE))) { >>>> eval(parse(text=paste("require(", x, ")", sep=""))) >>>> } else { >>>> update.packages() # recommended before installing so that >>>> dependencies are the latest version >>>> eval(parse(text=paste("install.packages('", x, "')", sep=""))) >>>> } >>>> } >>> >>> I miscopied the last line; it should be.... >>> >>> ########### >>> load.fun <- function(x) { >>> x <- as.character(substitute(x)) >>> if(isTRUE(x %in% .packages(all.available=TRUE))) { >>> eval(parse(text=paste("require(", x, ")", sep=""))) >>> } else { >>> update.packages() # recommended before installing so that >>> dependencies are the latest version >>> eval(parse(text=paste("install.packages('", x, "')", sep=""))) >>> eval(parse(text=paste("require(", x, ")", sep=""))) >>> } >>> } >>> ########### >>> >>>> >>>> HTH, >>>> >>>> Josh >>>> >>>> On Thu, Jun 24, 2010 at 12:25 PM, Ralf B <ralf.bie...@gmail.com> wrote: >>>>> Hi fans, >>>>> >>>>> is it possible for a script to check if a library has been installed? >>>>> I want to automatically install it if it is missing to avoid scripts >>>>> to crash when running on a new machine... >>>>> >>>>> Ralf >>>>> >>>>> ______________________________________________ >>>>> 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. >>>>> >>>> >>>> >>>> >>>> -- >>>> Joshua Wiley >>>> Ph.D. Student >>>> Health Psychology >>>> University of California, Los Angeles >>>> >>> >>> >>> >>> -- >>> Joshua Wiley >>> Ph.D. Student >>> Health Psychology >>> University of California, Los Angeles >>> >> > > > > -- > Joshua Wiley > Ph.D. Student > Health Psychology > University of California, Los Angeles > > ______________________________________________ > 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. > -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control tel : +32 9 264 59 87 joris.m...@ugent.be ------------------------------- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php ______________________________________________ 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.