Skip to content
Pull request Compare This branch is 1 commit ahead, 46459 commits behind trunk.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


R 0.64.2 for Windows 9x and NT

This distribution contains a binary distribution of R-0.64.2 to run on
Windows 95, 98 and NT4 (at least) on Intel/clone chips. It is designed to
be as close as possible to the implementation on Unix, but see the
list of differences below. The port was by Guido Masarotto with
many important contributions by Brian Ripley (including almost
all the updating from 0.63.x to 0.64.0).

See Announce or CHANGES for the new features of this version.


The simplest way is to run the installer (double-click on the icon for
rwinst.exe and navigate its wizard-like pages).

To install manually, unpack anywhere you like. It will
unpack to a directory tree under rw0642. The help, HTML and latex help
files are in separate files, and
which should be unpacked in the same directory you unpacked


There are two executables in rw0642\bin:


Rgui.exe runs as a standard Windows GUI executable and provides an R
console in its own window. It takes the standard R command-line
arguments; these are most easily set by making a shortcut to 
...\rw0642\bin\rgui.exe and adding the arguments in the Target field.
Set the `Start in' field of the shortcut to the directory you want to use
as the working directory (where workspaces and files are saved and 
loaded from).

Command-line editing is available: see Help | Console for details.

The menus provide shortcuts to some R commands such as help, help.start,
apropos, ls, load, save.image, search.

The `load' menu items (Source R code, Load image) keep track of the
directory that was last used, and start their dialog boxes from that
directory the next time they are used. That directory can be made the
working directory by the File | Change dir menu item.  All the `save'
menu items start dialog boxes at the current working directory: this
includes Save image and the various ways to save graphics, as well as
saving the workspace at the end of the session.

Observe that the help files use the latin1 encoding. To see all the
characters you must use an appropriate font (European-language True
Type fonts should be OK). To check if your preferred font has latin1
capability, try "help(text)" and look at the examples.  [Note: only a
couple of files make use of latin1 characters not contained in the
standard ASCII set so if you like a font without latin1 capability,
use it.]


Rterm.exe will run from a command line such as an MS-DOS or Commands
Window running the standard shells, (9x) and cmd.exe (NT),
as well as the ports of bash and tcsh that we use.  Its primary
purpose is to allow batch operation, but it does provide all the
facilities needed for interactive use, including simple command-line
editing. (If you type too fast the command-line editor will miss

Batch use: At it simplest, rterm.exe can be used in a batch mode by
commands like

Rterm.exe --vsize 6M --nsize 250k --no-restore --no-save < infile > outfile

although users will probably want to set up simple .bat or .cmd files
to run batch jobs.

Use with ESS-5.0: You can use Rterm.exe to provide inferior R-mode in
ESS-5.0 mode under NTEmacs. The only change needed is to add the
starting argument --ess to essd-r.el at the line

    (inferior-ess-start-args       . "--ess"))

You can also try the ESS-5.1.x betas.


The screen device is called x11, even though it runs under
Windows. This is launched automatically, and can also be launched
explicitly by windows(), X11(), x11() or win.graph() from both
Rgui.exe and Rterm.exe.  A printer device can be opened using
win.print(), and graphs drawn as metafiles by win.metafile().

The graphics device pops up an independent window which has two
menus. The File menu allows saving or printing or to run

The History menu allows the recording of plots. When plots have been
recorded they can be reviewed by PgUp and PgDn, saved and replaced.
Recording can be turned on automatically (the Recording item on the
list) or individual plots can be added (Add or the INS key).
The whole plot history can be saved to or retrieved from an R variable
in the global environment.

There is only one graphics history shared by all the windows devices.


Environment variables can be set as NAME=value on the command line,
including in a short-cut.  They can also be set (as NAME=value lines)
in the file HOME\.Renviron, if this exists.

Many aspects of the console (size, appearance, font, colours) can be
customized by editing the file etc\Rconsole, and a copy with a user's
settings can be put in her HOME directory or in the working
directory. (The exact sequence is to search the directories pointed to
by the environment variables R_HOME then HOME then the working
directory, finally RHOME\etc.) The file contains a description of the
settings that can be altered. See also ?Rconsole.

The mapping between Windows fonts and R font's number can be set by
editing the file etc\Rdevga, and a copy with a user's settings can be
put in the HOME or working directory (see the description of
Rconsole). This mapping applies to both the screen device and the
printer device.

Many R defaults can be set in the file RHOME\etc\Rprofile or a user's
file .Rprofile. In particular:

- The pager is set by options(pager=). The default is "internal" which
  brings up a separate console-like window. The internal pager can use
  a single window or a different window for each topic shown 
  (configurable in etc\Rconsole). Other possibilities we have 
  used are "notepad" and "pfe32 /v".

- If you wish to use HTML help where this is available, set
  options(htmlhelp=T). If you prefer to use Windows help files where these
  available, set options(winhelp=T).

Adding packages

Binaries for many packages are available at
CRAN/bin/windows/windows-NT/contrib. These are zip files which should
be unpacked in rw0642\library. They are then available for use. You
can also use the installer rwinst.exe to selectively unpack the zip

The list of packages and functions given by HTML help and used by the
search engine can be updated from a running R process by the command

provided the owner of the process has write permission on
rw0642\doc\html.  If you have the source-package files and Perl
installed you can use

	cd ...\rw0642\src\gnuwin32\help
	make indices

Private libraries of packages can be used and can be specified by the
environment variable RLIBS. (Separate directories by ";" in this
version.)  They will not be linked to HTML help.  In more detail, to
use packages installed in directory R:\libraries\gm set


in the environment or on the command line, or add the line

.lib.loc <- c("R:/libraries/gm", .lib.loc)

to your .Rprofile or at the end of RHOME/etc/Rprofile.

To install a package from source code you need the source-package
distribution installed (but not the R source). This contains
detailed instructions.

Differences from Unix

- R can be interrupted by Esc in Rgui and by Ctrl-Break in Rterm: 
  Ctrl-C is used for copying in the GUI version.

- Command-line editing is always available, but is much simpler than
  under readline-based input on Unix.

- The commands history is saved between sessions only by Rgui.

- The HTML function and package lists and search datasbase are not
  re-generated automatically by html.start(). Use

- Paths to files can be specified with "/" or "\\".

- Using help.start() does not automatically send help requests to the
  browser(): use options(htmlhelp=T) to turn this on.

- Graphics save and replay only here.

- system is enhanced here and does not automatically use a shell.
  See its help page and that of shell.

Building From Source

First collect the tools that you need.

Building on Windows


The cygwin-B20.x set of tools available from and several mirrors, the Fortran
additions ecgs-1.1-f77.tar.gz from that page or directly from and the Fortran
library libg2c.mingw32.a.bz2 from CRAN/bin/windows/windows-NT/base/etc.
You can also use the egcs-1.1.2 compilers upgrade from Mumit Khan's

Do remember to set MAKE_MODE to UNIX.


The mingw32 port of egcs-1.1.2  from, the
ld.exe and cygwin1.dll from the B20 set in your path ahead of the
mingw32 binaries (if you don't want to download all the B20 distribution,
you can find the two files in 

Suitable versions of rm, sed, mkdir, echo, cp and cat, for example
(Win 9x) from the djtools set at CRAN/bin/windows/windows-NT/base/etc
or (Win 9x or NT) a cygwin set.

perl5, available via

groff, available at

All of these need to be installed and in your path, and the
appropriate environment variables set.  

You also need: the R source (R-0.64.2.tgz), and to build the installer, from any Info-Zip mirror.

Then: untar R-0.64.2.tgz somewhere,

	cd /somewhere/R-0.64.2/src/gnuwin32 

edit MkRules to set the appropriate paths as needed

and run 


Note 1: the file rw0642\unzip\unzip32.dll is not in the source
distribution, nor are the sources (it is the standard Info-Zip unzip
5.40, built with MSVC++4.2). You will need to copy it from a binary

Note 2: we are aware that because of limitations in line length or in the
shell used that the Makefiles do not work unchanged on all the possible
combinations of tools, compilers and OSes.  We use the Cygwin make and 
shell under NT, and cross-building (see below).

Note 3: building libR.a is highly disk intensive and can take several
minutes even on a local disc. We have seen times from 30 secs to 20
minutes. Using a network file system is likely to take longer.

You can test a build by `make check': expect some differences in the tests
of print routines.

Cross-building on Linux

You will need i386-mingw32 cross-compilers installed: see

and ensure that these are in your path. You also need Perl and nroff

You also need: the R source (R-0.64.2.tgz), and to build the installer, from any Info-Zip mirror.

Then: untar R-0.64.2.tgz somewhere 

	cd /somewhere/R-0.64.2/src/gnuwin32 

Edit MkRules to set BUILD=CROSS and the appropriate paths as needed.
Set the environment variable TEMP to, say, /tmp, and make.

Packages can be made in the same way as natively: see the file


Please send comments and bug reports to

    Guido Masarotto <>

and comments on the documentation and help system (but not its
contents) to

    Brian Ripley <>

Something went wrong with that request. Please try again.