Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: tags/R-0-65
Pull request Compare This branch is 1 commit ahead, 44881 commits behind trunk.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


R 0.65.0 for Windows 9x and NT

This distribution contains a binary distribution of R-0.65.0 to run on
Windows 95, 98 and NT4 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.

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 rw0650. 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 rw0650\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
...\rw0650\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

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, which have some in-built support.


The screen device is called windows(). This is launched automatically,
and can also be launched explicitly by 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 a separate window which has two menus. The
device's 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_USER then HOME then the working
directory, finally R_HOME\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 R_HOME\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", and "console" to list the files in
  the console (rgui.exe) or terminal window (rterm.exe).

- 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 rw0650\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
rw0650\doc\html.  If you have the source-package files and Perl
installed you can use

	cd ...\rw0650\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 R_HOME/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

[Some further details, including how to debug, are given in the RW-FAQ.]

First collect the tools that you need.

Building on Windows

We recommend that you use the mingw32 port of gcc-2.95 by Mumit Khan from You will also
need suitable versions of make, sh, rm, sed, awk, mkdir, echo, cp and
cat; we have packaged a set at bin/windows/windows-NT/etc/
extracted from the cygwin distribution
( and several mirrors). To avoid
past problems on some versions of Windows95, we use the cygwin ld
contained in that set, which must be before the mingw32 one in your
path. (We have no way of knowing if this is still necessary.)

It is also possible to use earlier mingw32 compilers or cygwin-b20.1
with the --no-cygwin flag, but we suggest you do so only if you have a
working setup from building earlier versions of R.  We have also
successfully used the variant of mingw32 that uses the MSVCRT run-time 
system (under gcc-2.95 but not earlier versions).

perl5, available via

groff, available at

zip and unzip from the INFO-ZIP project.

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.65.0.tgz), and to build the
installer, from any Info-Zip mirror.  Do remember to set

Then: untar R-0.65.0.tgz somewhere,

	cd /somewhere/R-0.50.0/src/gnuwin32

edit MkRules to set the appropriate paths as needed

and run


Note 1: the file rw0650\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 have tested
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 i386 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.65.0.tgz), and to build the installer, from any Info-Zip mirror.

Then: untar R-0.65.0.tgz somewhere

	cd /somewhere/R-0.65.0/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 (preferably both of)

    Guido Masarotto <>
    Brian Ripley <>
Something went wrong with that request. Please try again.