R 3.4.2 for Windows
===================

This distribution contains a binary distribution of R- to run on
Windows XP and later (including 64-bit versions of Windows) on ix86
and x86_64 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, Brian Ripley and Duncan Murdoch.


Installation
============

The distribution is distributed as an installer R-3.4.2-win.exe.  Just
run this for a Windows-style installer.

For more details, including command-line options for the installer and
how to uninstall, see the rw-FAQ.  If you are reading this as part of
an installed version of R, that is both a file rw-FAQ in this directory
and a file doc\html\rw-FAQ.html.


Usage
=====

There are two versions of the R executable in R-3.4.2\bin\i386 (32-bit) 
and R-3.4.2\bin\x64 (64-bit).  By default only the first is
installed on 32-bit versions of Windows, and both on 64-bit OSes.

GUI:

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
...\R-3.4.2\bin\i386\Rgui.exe (or x64\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 to and loaded from).  The
installer creates a shortcut on the desktop for you (by default).

You have a choice of interface: SDI (separate windows) or MDI
(multiple child windows in one large window).  MDI is the default:
select SDI by adding --sdi in the Target field: this can also be
selected from the installer.

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, Display file, Load Workspace)
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 Workspace' and the various ways to save
graphics, as well as saving the workspace at the end of the session.

Note that a few of the text help files use accented Western European.
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 these characters, try "help(text)" and look at the
examples.


TERMINAL/BATCH:

Rterm.exe will run from a command line such as a 'Command Prompt'
window running the standard shell, cmd.exe, 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 command-line editing (see the file
README.Rterm).

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

Rterm.exe --no-restore --no-save < infile > outfile 2>&1

although users will probably want to set up simple .bat or .cmd files
to run batch jobs. You can also use it via R CMD BATCH: see ?BATCH or
R CMD BATCH --help.

Use with ESS: You can use Rterm.exe to provide inferior R-mode in ESS
under NTEmacs.  The pager is automatically set to "console" so text
help will be displayed in emacs buffers.


GRAPHICS:

The screen device is called windows().  This is launched
automatically, and can also be launched explicitly by windows() 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 dev.off().

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.
  The format of recorded plots may change between R versions.
  Recorded plots should NOT be used as a permanent
  storage format for R plots.

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


Customization
=============

Environment variables can be set as NAME=value at the end of the
command line, including in a shortcut.  They can also be set (as
NAME=value lines) in the file .Renviron in the working directory, or
if that does not exist HOME\.Renviron.

Many aspects of the console (size, appearance, font, font size,
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 directory
pointed to by the first found of the environment variables R_USER then
HOME, then the Windows "personal" directory (typically
'C:\Users\username\My Documents' on recent versions of Windows and
'C:\Documents and Settings\username\My Documents' on XP) then
{HOMEDRIVE}{HOMEPATH} then the working directory, finally R_HOME\etc.
This also applies to .Renviron and other uses of 'HOME' in our
documentation.)  The file contains a description of the settings that
can be altered.  See also ?Rconsole.

An alternative way to edit the Rconsole file is to use the GUI
preferences item on the Edit menu in Rgui.exe.  This can change some
of the settings (for example colours, font and window sizes) on the
current running console.

The mapping between Windows fonts and the font number used in R's
graphics 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 Rconsole).  Other possibilities we have used are
  "notepad" and "console" to list the files in the console (Rgui.exe)
  or terminal window (Rterm.exe).


Adding packages
===============

Binaries for many packages are available under
CRAN/bin/windows/contrib.  These are zip files which should be
unpacked in R-3.4.2\library.  The simplest option is use the items on
the Packages menu to install from a zip file or to download from CRAN.

Private libraries of packages can be used and can be specified by the
environment variable R_LIBS.  (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

R_LIBS=R:\libraries\gm

in the environment or your .Renviron file or on the command line, or
add the line

.libPaths("R:/libraries/gm")

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 from R-3.4.2-win32.exe (but not the R sources).
The 'R Installation and Administration' manual contains detailed
instructions.


Differences from Unix versions of R
===================================

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

- Command-line editing is always available, but is simpler than
  under readline-based input on Unix.  For Rgui.exe, see the menu item
  'Help | Console', for Rterm.exe the file README.Rterm.

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

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

- graphics device bmp() is available in this version.


Using package tcltk
===================

The package tcltk supports building graphical interfaces with Tcl/Tk.
"Support Files for Package tcltk" needs to be selected from the
installer for this to work; alternatively you can use an existing
installation of Tcl/Tk 8.6.x by following the instructions in the
rw-FAQ.


Building From Source
====================

See the 'R Installation and Adminstration' Manual
(doc\manual\R-admin.html).


Feedback
========

Please send comments and bug reports to

	R-windows@r-project.org

