123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368 |
- batchfiles contains GPL-2 batch files for installing and maintaining R.
- Each is self contained, independent of the others and need no installation.
- Just place it anywhere on your path.
- ---
- PROGRAM LIST
- Legend:
- h = no args gives help
- 0 = common usage is to enter command name without arguments
- d = in development
- 2.11 = only works with R 2.11
- * = all files marked with one star are the same. Program checks name by which its called to determine action.
- ** = all files marked with two stars are the same. Program checks name by which its called to determine action.
- #Rscript.bat - put at top of R file to make it a batch file (h) (*)
- clip2r.js - pastes clipboard into Rgui. See comments in file for use from vim. (0)(d)
- copydir.bat - copy a library from one version of R to another (h)
- el.js - run elevated - Vista and up, e.g. el Rgui runs R elevated
- find-miktex.hta - GUI to find MiKTeX (0)
- kopy.bat - copy Rcmd to other batch files (h)(d)
- movedir.bat - move library from one version of R to another (h)
- R.bat - like R.exe but finds R from registry (0) (*)
- Rcmd.bat - like Rcmd.exe but finds R from registry (h) (*)
- Rgui.bat - like Rgui.exe but finds R from registry (0) (*)
- RguiStart.bat - like Rgui.bat but arg1 defines folder to start R in (*)
- Rscript.bat - run .R script (h) (*)
- Rterm.bat - like rterm.exe but finds R from registry (h) (*)
- Rtidy.bat - reformat a .R file, e.g. Rtidy myfile.R > outfile.R (d)
- Rtools.bat - place Rtools on path for remainder of console session (0) (*)
- Rversions.bat - list R and set R version in registry, e.g. on Vista: el cmd/c Rversions R-2.10.1 (0)
- Rversions.hta - GUI interface to RSetReg. List and set R version, e.g. on Vista: el cmd /c Rversions.hta (0)(2.11)
- show-svn-info.hta - show svn info if current folder is an svn checkout (0)
- Stangle.bat - run arg1 through Stangle (h) (**)
- Sweave.bat - run arg1 through Sweave (h) (**)
- ---
- DESCRIPTIONS
- R.bat, Rcmd.bat, Rscript.bat, Rgui.bat, and RguiStart.bat are all the same
- file. They query the name by which they were called to determine what they do.
- Similarly Sweave.bat and Stangle.bat are the same file.
- The home page and NEWS file provide more info.
- BATCH PROGRAMS
- 0. Rtools.bat
- 1. R.bat, Rcmd.bat, Rscript.bat, Rgui.bat
- 2. #Rscript.bat
- 3. RguiStart.bat
- 4. Sweave.bat and Stangle.bat
- 5. copydir.bat
- 6. movedir.bat
- 7. find-miktex.hta
- 0. Rtools.bat. Sets path to what Rcmd.bat and others use internally.
- This only sets the path for the current command shell instance.
- 1. R.bat, Rcmd.bat, Rscript.bat, Rgui.bat, Rscript.bat - are front
- ends to the corresponding .exe files. They locate R in the registry (and also
- look in a few other places if not found there). Then they look for Rtools and
- MiKTeX and if found they add them temporarily to the path. (Rtools and MiKTeX
- are needed when building R packages from source but are not needed for just
- running R nor are they need to download and install binary packages from CRAN.)
- Then they run R.exe, Rcmd.exe, Rscript.exe, Rgui.exe or JGR.exe with the same
- arguments. They are actually all the same file just renamed. (RguiStart.bat
- described separately is also the same file and all the code from this file is
- also at the end of Sweave.bat, also described separately.) The file checks
- what name it was called by and acts accordingly.
- Their main advantages are:
- - you don't have to modify your path just to run R.
- - you don't have to modify your path to build R packages from source.
- - when you upgrade R they automatically work without change
- since they will pick up the new version of R from the registry
- automatically.
- - Sweave.bat and Stangle.bat, unlike, Rcmd Sweave and Rcmd Stangle
- do not depend on rtools.
- You can put Rgui.bat on your desktop and associate a Windows
- ShortCut key (http://support.microsoft.com/kb/310417) with
- it so that you can just press the Windows key and
- R, say, to activate R.
- Here are some examples of using them from the command line.
- It assumes you have placed el.js, Rcmd.bat and Rgui.bat in
- your path. el cmd spawns a command console with Administrator
- rights. This is needed to build HTML help but you can omit
- the el command if you don't need that.
- el cmd
- Rcmd check mypackage
- Rcmd build mypackage
- Rcmd build mypackage --binary
- Rcmd INSTALL mypackage_1.0-0.tar.gz
- Rcmd INSTALL mypackage_1.0-0.tar.gz -l library
- Rscript myprog.R < mydata.dat
- Rgui
- (When installing packages on Vista it is recommended that
- you do this from within a console session that has Administrator
- rights. It will typically work even without that; however, the
- HTML help will not be created.)
- Older version of the Rcmd BATCH command in R had problems
- with spaces in pathnames so be sure you use a sufficiently
- recent version of R. If you are using an old version of R
- that has problems use the short name corresponding to any
- long name with spaces:
- For example, suppose we have a file
- C:\Documents and Settings\Administrator\myfile.R .
- Then try this:
- cd \
- dir/x doc*
- Rcmd BATCH c:\docume~1\Administrator\myfile.R
- where the dir/x command showed us the short name corresponding to
- the longer space-embedded name: Documents and Settings.
- 2. #Rscript.bat
- #Rscript.bat can be used as the first line of an R script to make
- it callable as a batch file. For example, if we have a myfile.R
- file then we can create a myfile.bat file that looks like this:
- #Rscript %0 %*
- ...R code from myfile.R goes here...
- and now we can just issue the command myfile to run it. We
- no longer need myfile.R.
- See the Rtidy.bat file for an example. Note that it does have
- the disadvantage that the output of the R program starts off
- with the command itself. R needs to be able to handle the
- perl/python/ruby -x switch. In the meantime #Rscript.bat
- will mainly be useful for those scripts where the output does
- not go to the standard output or where the addition of this
- line is acceptable.
- 3. RguiStart.bat
- This is like Rgui.bat except it intercepts the first argument
- and interprets it as the folder in which to start R (or if its
- an .Rdata file then it interprets it as the .Rdata file to start
- R with). The main reason for its existence is so that you can
- place it in your SendTo folder. On Vista do this:
- copy RguiStart.bat %APPDATA%\Microsoft\Windows\SendTo
- (or to locate locate the SendTo folder in Windows Explorer on Vista
- enter shell:sendto into the Windows Explorer address bar and copy
- your RguiStart.bat file there.)
- Then, on Vista, when you are in Windows Explorer you can right click
- on any folder in your user area and choose SendTo. From the SendTo
- menu choose RGuiStart.bat to start up R in that folder. If you
- right click on an .Rdata file rather than a folder then R will
- start up with that file loaded (although in that case its probably
- easier to just double click the .Rdata file provided you have
- file type associations set up -- if you don't then the RguiStart.bat
- will provide an alternative).
- A second possibility is to place RguiStart.bat on your desktop and
- then drag a folder to it to start R in that folder.
- A third possibility is to just shift right click a folder in Windows
- Explorer and choose Open Command Window Here and then when the command
- window opens enter Rgui assuming you have placed Rgui.bat somewhere in
- your path.
- 4. Sweave.bat and Stangle.bat - will run Sweave, then pdflatex and then
- display latex file. Stangle.bat will run Stangle producing an R file.
- Unlike Rcmd Sweave and Rcmd Stangle these do not depend on rtools.
- Sweave.bat and Stangle.bat are actually the same file. The file determines
- what to do by looking at the name by which it was called.
- Sweave mydoc.Rnw
- or
- Sweave mydoc
- The script runs Sweave, pdflatex and then displays the pdf
- file (assuming the user has .pdf extension associated with a
- pdf viewer). If there is an error in Sweave or the .tex
- file is not newer than the Sweave'd file the script stops.
- Similarly if there is an error in pdflatex or the .pdf is
- not newer than the .tex file then the script stops. Note
- that _two_ .pdf files are generated. They are identical
- except one has a unique name created by suffixing the base
- with the date and time and .bck.pdf. The one with the unique name
- is the one viewed. This overcomes problems of not being able to
- view the .pdf if the .pdf from a prior run is current being
- viewed (which would happen since by default the Acrobat viewer
- won't allow you to view two files of the same name concurrently).
- Every so often the user should delete all *.bck.pdf files.
- Try:
- sweave
- without arguments to see options and get more info.
- Aside from using sweave from the command line, if you place
- sweave.bat in your SendTo folder as discussed under
- RguiStart.bat you can right click .Rnw files and choose
- SendTo > sweave to sweave them.
- You may need to copy Sweave.sty to the directory containing
- your .Rnw sweave file to use sweave.bat .
- 5. Rversions.bat - similar to Rversions.hta but
- -- its batch whereas Rversions.hta is GUI
- -- uses slightly different heuristic to find R versions
- -- run without args to list versions available; run with any of
- the listed versions to set that as the new version
- -- both forms work on XP; to run arg form on Vista run it elevated
- e.g. el cmd /c Rversions.bat R-2.10.0
- Examples:
- :: list R versions
- rversions.bat
- :: check mypkg using R current version, 2.4.0, say
- Rcmd check mypkg
- :: switch to version R-2.5.0 and recheck
- rversions R-2.5.0
- Rcmd check mypkg
- :: reset back to version 2.4.0
- rversions.bat R-2.4.0
- 6. copydir.bat - can be used to copy the libraries from an
- old version of R to your new one. It will not overwrite any
- libraries already there so it should be safe to use. e.g. to
- upgrade R to a new version
- :: Example is for upgrading from R-2.4.1 to R-2.5.0
- :: first, download and install R-2.11.0
- :: now perform the next two commands at the Windows console
- cd %userprofile%\Documents\R\win-library
- :: you can use movedir instead of copydir if you prefer to move them
- copydir 2.10\library 2.11\library
-
- :: ... now startup new version of R (R 2.11.0 in this example)
- # issue this command in R 2.5.0
- update.packages(checkBuilt = TRUE, ask = "graphics")
- # or (see note below)
- update.packages(ask = "graphics")
- :: press OK and it will update those packages as necessary
- # ... optionally check for deprecated packages
- # 1. first select all repositories that you use with menu:
- # Packages | Repositories
- # 2. second check if there are any deprecated packages that
- # were copied over but are not longer on CRAN or other repository
- dp <- setdiff(installed.packages()[,1], available.packages()[,1])
- # look at what we have
- dp
- # if you wish to remove them issue the remove.packages command:
- # remove.packages(dp)
- :: ... exit R and start it up again ...
- Note that the checkBuilt=TRUE argument will potentially
- cause all your packages to be downloaded again so you could
- try leaving it off and then reissue the command with
- checkBuilt=TRUE later only if you run into problems. I
- normally do it without the checkBuilt=TRUE.
- It is anticipated that this command will ultimately be
- superceded by functionality in the R setup procedure at
- which time this will be deprecated. Note that this method
- of just copying libraries may not work depending on the
- versions of R involved. If its necessary to re-install most
- packages it can be done by issuing the following R command
- after performing the copydir.bat:
- install.packages(installed.packages()[,1])
-
- (Note that 2.8 of the R Windows FAQ
- http://cran.r-project.org/bin/windows/base/rw-FAQ.html#What_0027s-the-best-way-to-upgrade_003f
- refers to copying any installed package to the library
- folder but does not address how to accomplish that. That
- omission is what copydir.bat addresses.)
- An alternative to copydir is to reinstall all packages
- # Alternative to copydir.bat #1
- # this example is for moving from 2.4.1 to 2.5.0
- # run this in R 2.5.0
- setwd(R.home())
- ip <- installed.packages(lib.loc = "../R-2.4.1/library")
- ip <- ip[ip[,1]!="base" ,1]
- install.packages(ip)
- The above is taken from:
- https://www.stat.math.ethz.ch/pipermail/r-help/2007-May/131806.html
- Note that you may still have to use movedir.bat or copydir.bat
- after the above if it fails to install everything. Since movedir.bat
- and copydir.bat won't overwrite anything this should be safe.
- # Alternative to copydir.bat #2
- #---run in previous version, e.g. R 2.4.1
- packages <- installed.packages()[,"Package"]
- save(packages, file = "~/Rpackages")
- #---run in new version, e.g. R 2.5.0
- load("~/Rpackages")
- install.packages(setdiff(packages, installed.packages()[,"Package"]))
- file.remove("~/Rpackages")
- This copydir alternative is based on:
- https://www.stat.math.ethz.ch/pipermail/r-help/2007-May/131131.html
- 7. movedir - same arguments as copydir. Only difference is
- that it moves the directories rather than copying them. This
- can be used if you are no longer interested in using the
- packages with the old version of R other than by
- reinstalling them.) This has the advantage that its much
- faster than copydir. The example under copydir works with
- movedir too. Just replace copydir with movedir in that
- example. Comments under copydir.bat apply here too. I
- mostly use movedir.bat myself instead of copydir.bat since
- its so much faster.
- 8. show-svn-info.hta - Just run this from any Tortoise SVN folder
- and it will display some information about it. Requires version 1.5
- or higher of Tortoise SVN.
- 9. find-miktex.hta - displays the path to the MiKTeX bin directory.
- Just enter find-miktex.hta at the Windows command line (no arguments
- are needed) or double click it from Windows Explorer.
- ADDITIONAL FILES
- 1. RESOURCES - additional information on writing Windows XP
- batch files.
- 2. COPYRIGHT and COPYING - this is free software subject to
- the GPL license as described.
- 3. THANKS - acknowledgments.
- DEPRECATED AND CHANGED
- - Rfind.bat
- - makepkg.bat
- - Rversions.hta
- - toggerDoc.pl
- These are no longer distributed but can be found in older distributions of this
- package. It is unknown whether they work with recent versions of R. (I found
- I was not using these so am no longer maintaining them.)
|