Muenchen, Robert A (Bob)
2008-Apr-13 13:55 UTC
[R] .Rprofile, date tagging history, loading packages
Dear R-Helpers, I'm fiddling with my .Rprofile in Windows XP & R 2.7.0 Beta. I prefer to manually save my workspace but automatically save my command history via the .Rprofile. That is working fine once I found that "utils::" was required before the loadhistory & savehistory functions. What I would like to do is add a separator line with a date between the histories of each session. Something like, =====History for Sun Apr 13 09:43:50 2008 Is this possible? I have it print the date at startup, but that doesn't appear as part of the history. Also, I'm loading two packages at startup, which is working fine with this code: local({ myOriginal <- getOption("defaultPackages") myAutoLoads <- c("Hmisc","ggplot2") myBoth <- c(myOriginal,myAutoLoads) options(defaultPackages = myBoth) }) But when reading AITR, I noticed it has a .Rprofile example that looks much simpler. It just loads the one additional package without checking the defaultPackages. Is this just as good? Does it even need to be in the .First function definition, or could it simply be a command by itself in .Rprofile? .First <- function() { options(prompt="$ ", continue="+\t") # $ is the prompt options(digits=5, length=999) # custom numbers and printout x11() # for graphics par(pch = "+") # plotting character source(file.path(Sys.getenv("HOME"), "R", "mystuff.R")) # my personal functions library(MASS) # attach a package } Thanks, Bob My whole .Rprofile: # Startup Settings # Place any R commands below. options(width=64, digits=5, show.signif.stars=TRUE) set.seed(1234) setwd("/myRfolder") myPackages <- c("car","foreign","hexbin", "ggplot2","gmodels","gplots", "Hmisc", "lattice", "reshape","ggplot2","Rcmdr") utils::loadhistory(file = "myCumulative.Rhistory") # Load packages automatically below. local({ myOriginal <- getOption("defaultPackages") # Edit next line to include your favorites. myAutoLoads <- c("Hmisc","ggplot2") myBoth <- c(myOriginal,myAutoLoads) options(defaultPackages = myBoth) }) # Things put here are done first. .First <- function() { cat("\n Welcome to R!") cat("\n " , paste(date()), "\n\n" ) } # Things put here are done last. .Last <- function() { graphics.off() cat("\n\n myCumulative.Rhistory has been saved on " ,paste(date()) ) cat("\n\n Goodbye!\n\n") utils::savehistory(file="myCumulative.Rhistory") } ========================================================Bob Muenchen (pronounced Min'-chen), Manager Statistical Consulting Center U of TN Office of Information Technology 200 Stokely Management Center, Knoxville, TN 37996-0520 Voice: (865) 974-5230 FAX: (865) 974-4810 Email: muenchen at utk.edu Web: http://oit.utk.edu/scc, News: http://listserv.utk.edu/archives/statnews.html =========================================================
Duncan Murdoch
2008-Apr-13 14:27 UTC
[R] .Rprofile, date tagging history, loading packages
Muenchen, Robert A (Bob) wrote:> Dear R-Helpers, > > I'm fiddling with my .Rprofile in Windows XP & R 2.7.0 Beta. I prefer to > manually save my workspace but automatically save my command history via > the .Rprofile. That is working fine once I found that "utils::" was > required before the loadhistory & savehistory functions. What I would > like to do is add a separator line with a date between the histories of > each session. Something like, > > =====History for Sun Apr 13 09:43:50 2008 > > Is this possible? I have it print the date at startup, but that doesn't > appear as part of the history. >See ?timestamp. I think it does what you want. I don't know the relative merits of the two methods below; I suspect they're all pretty much equivalent (but watch out for things like search order, and which functions are available at which time.) Duncan Murdoch> Also, I'm loading two packages at startup, which is working fine with > this code: > > local({ > myOriginal <- getOption("defaultPackages") > myAutoLoads <- c("Hmisc","ggplot2") > myBoth <- c(myOriginal,myAutoLoads) > options(defaultPackages = myBoth) > }) > > But when reading AITR, I noticed it has a .Rprofile example that looks > much simpler. It just loads the one additional package without checking > the defaultPackages. Is this just as good? Does it even need to be in > the .First function definition, or could it simply be a command by > itself in .Rprofile? > > .First <- function() { > options(prompt="$ ", continue="+\t") # $ is the prompt > options(digits=5, length=999) # custom numbers and printout > x11() # for graphics > par(pch = "+") # plotting character > source(file.path(Sys.getenv("HOME"), "R", "mystuff.R")) > # my personal functions > library(MASS) # attach a package > } > > Thanks, > Bob > > My whole .Rprofile: > > # Startup Settings > > # Place any R commands below. > > options(width=64, digits=5, show.signif.stars=TRUE) > set.seed(1234) > setwd("/myRfolder") > myPackages <- c("car","foreign","hexbin", > "ggplot2","gmodels","gplots", "Hmisc", > "lattice", "reshape","ggplot2","Rcmdr") > utils::loadhistory(file = "myCumulative.Rhistory") > > > # Load packages automatically below. > > local({ > myOriginal <- getOption("defaultPackages") > > # Edit next line to include your favorites. > myAutoLoads <- c("Hmisc","ggplot2") > myBoth <- c(myOriginal,myAutoLoads) > options(defaultPackages = myBoth) > }) > > # Things put here are done first. > .First <- function() > { > cat("\n Welcome to R!") > cat("\n " , paste(date()), "\n\n" ) > } > > > # Things put here are done last. > .Last <- function() > { > graphics.off() > cat("\n\n myCumulative.Rhistory has been saved on " ,paste(date()) > ) > cat("\n\n Goodbye!\n\n") > utils::savehistory(file="myCumulative.Rhistory") > } > > ========================================================> Bob Muenchen (pronounced Min'-chen), Manager > Statistical Consulting Center > U of TN Office of Information Technology > 200 Stokely Management Center, Knoxville, TN 37996-0520 > Voice: (865) 974-5230 > FAX: (865) 974-4810 > Email: muenchen at utk.edu > Web: http://oit.utk.edu/scc, > News: http://listserv.utk.edu/archives/statnews.html > ========================================================> > ______________________________________________ > 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. >