# [rkward-cvs] SF.net SVN: rkward:[3315] branches/jss_dec_10/FINAL_JSS_TEX

m-eik at users.sourceforge.net m-eik at users.sourceforge.net
Fri Dec 24 19:05:51 UTC 2010

Revision: 3315
http://rkward.svn.sourceforge.net/rkward/?rev=3315&view=rev
Author:   m-eik
Date:     2010-12-24 19:05:50 +0000 (Fri, 24 Dec 2010)

Log Message:
-----------
some minor editing, santa claus edition.

Modified Paths:
--------------
branches/jss_dec_10/FINAL_JSS_TEX/GUI_elements.tex
branches/jss_dec_10/FINAL_JSS_TEX/RKWard_paper.tex
branches/jss_dec_10/FINAL_JSS_TEX/background.tex
branches/jss_dec_10/FINAL_JSS_TEX/installing_starting_RKWard.tex

Modified: branches/jss_dec_10/FINAL_JSS_TEX/GUI_elements.tex
===================================================================
--- branches/jss_dec_10/FINAL_JSS_TEX/GUI_elements.tex	2010-12-24 07:11:13 UTC (rev 3314)
+++ branches/jss_dec_10/FINAL_JSS_TEX/GUI_elements.tex	2010-12-24 19:05:50 UTC (rev 3315)
@@ -9,27 +9,26 @@
describe the default appearance of RKWard in the present section. The
top of the window is occupied by menu bar and toolbar (Figure~
\ref{fig:main_window}A). The content of both bars is partially context
-sensitive, e.g., the Edit menu will offer
+sensitive, e.\,g. the Edit menu will offer
one set of actions when the current document window is a data editor,
and another set of actions for an \proglang{R} script
editor window. To ease orientation, all top level menus remain
persistent, even if no actions are available for that menu in the
current context. The menu bar of the main window is also the central
-access point to most data import, manipulation, analysis and
+access point to most data import, manipulation, analysis, and
visualization features (see Section~\ref{sec:analyzing_data}) for which RKWard provides a GUI
interface.

-A status bar is shown at the bottom of the window. This contains (from
-right to left) an indication of the status of the
-\proglang{R} engine (busy or idle), a display of the
-current working directory, and a multi purpose region which is used to
-elements, when hovering the mouse pointer over them.
+A status bar is shown at the bottom of the window. It displays (from
+right to left) the status of the \proglang{R} engine (busy or idle), the
+current working directory, and in a multi purpose region additional
+information on some menu items and other GUI elements, visible when
+hovering the mouse pointer over them.

The central area is divided into a document view area
(Figure~\ref{fig:main_window}C) and two panel subwindows
(Figure~\ref{fig:main_window}B and D). The panels can be resized or moved to
-another edge of the central area, independently. All panels can be
+another edge of the central area independently. All panels can be
toggled by mouse or keyboard shortcuts. When a panel is closed, the
document view area (see below) is automatically re-sized to take up the
free space.
@@ -44,13 +43,13 @@
on the bottom of the main window give quick access to the command log,
running jobs, an \proglang{R} console, and the \proglang{R} help.
RKWard main window. Panels B) and D) can be resized or collapsed. The navigator element B)
-presents detailed information (e.g. type, class) about objects and their properties.}
+presents detailed information (e.\,g. type, class) about objects and their properties.}
\label{fig:main_window}
\end{figure}

-The left panel contains the file browser (see Section~\ref{sec:further_tool_windows}) and the
-workspace browser (see Section~\ref{sec:workspace_browser_object_viewer}), by default. The
-bottom panel contains the tool windows, namely, Command
+The left panel contains a file browser (see Section~\ref{sec:further_tool_windows}) and a
+workspace browser (see Section~\ref{sec:workspace_browser_object_viewer}) by default. The
+bottom panel contains the tool windows, namely Command
log (Section~\ref{sec:further_tool_windows}), Pending Jobs (Section~\ref{sec:further_tool_windows}), \proglang{R} Console
(Section~\ref{sec:using_R_console}), and Help Search (Section~\ref{sec:help_system}).

@@ -62,81 +61,77 @@
\proglang{R} onscreen graphics devices (Section~\ref{sec:technical_graphics}). Early uses of TDIs date back to 1988 and are
KimLutteroth2010}. The order of tabs can be conveniently re-arranged
-using drag and drop.
+using drag \& drop.

-Both document windows, and tool views, can be detached from the main
-window as independent windows managed by the window manager, and also
-re-attached. This feature allows to work with multiple documents, e.g.,
-scripts or data editors at the same time, conveniently. On{}-screen
+Both document windows and tool views can be detached from the main
+window as independent windows, managed by the window manager, and also
+re-attached. This feature allows to conveniently work with multiple documents
+at the same time, e.\,g. scripts or data editors. On{}-screen
graphics device windows are created detached by default, but can also
be attached to the document view area of the main window.

-Windows can be shown (or activated) using a mouse device with point and
+Windows can be shown (or activated) using a mouse device with point \&
click, as well as using a series of keyboard shortcuts (defined by
default) for switching between the different tool and document windows.
-Key bindings can be configured from the GUI via "Settings->Configure Shortcuts".
-However, for technical reasons, only the shortcuts of those
-components currently active will be listed. Thus, for example, to
-configure data editor shortcuts one has to open a data editor first and
-then to select Settings->Configure Shortcuts''. Since RKWard relies on
-\proglang{KDE} SC editor component as editor component
+Key bindings can be configured from the GUI via Settings->Configure Shortcuts''.
+However, for technical reasons only the shortcuts of currently active components
+will be listed. Thus, for example, to
+configure data editor shortcuts, one has to open a data editor first and
+then to select Settings->Configure Shortcuts''. Since RKWard relies on the
+\proglang{KDE} SC editor component,
shortcuts for the script editor (Section~\ref{sec:code_editor}) are managed separately using
Settings->Configure Editor->Shortcuts''. On most systems, it is also
possible to configure shortcuts by right-clicking on the respective

-The choice of actions which are available on the tool bar can be
+The choice of available actions on the tool bar can be
configured via Settings->Configure Toolbars. Further, it is possible to add and remove sets
-of data manipulation and analysis features from the GUI using
-''Settings->Configure RKWard/Plugins.
+of data manipulation and analysis features from the GUI, using
+Settings->Configure RKWard/Plugins.

\subsection{Workspace browser and object viewer}
\label{sec:workspace_browser_object_viewer}

The workspace browser allows to view
-and manipulate \proglang{R} objects, somewhat similar
-to a regular file-system browser. This includes both user objects
-(data, functions) in the \code{.GlobalEnv}, and in other environments on the
+and manipulate \proglang{R} objects, similar
+to a regular file-system browser. This includes both, user objects
+(data, functions) in \code{.GlobalEnv} and other environments in the
\proglang{R} search path (typically
\proglang{R} package environments). Objects are shown
in a hierarchical tree structure. For instance, an object of class
-list can be expanded to show the objects
-contained inside the list, by clicking on a
-+-symbol to the left of the object name.
-The basic type of each object is visualized by different icons. Further
+\proglang{list} can be expanded to show all contained objects
+by clicking on the \proglang{+}-symbol left to the object name.
+The basic type of each object is indicated by different icons. Further
information on each object can be obtained by hovering the mouse
-pointer over the respective icon. This will display a tooltip window,
+pointer over the respective icon. A tooltip window will appear,
including information such as dimensionality or function arguments,
-depending on the type of object. Objects inside the \code{.GlobalEnv} can be
+depending on the type of object. Objects inside \code{.GlobalEnv} can be
removed, renamed, and edited from the context menu.

Literally hundreds or even thousands of objects are present in a typical
\proglang{R} session. This can be overwhelming at
first, therefore the workspace browser offers to show only a certain
-subset of objects, e.g. only functions or only data objects, including
-or excluding hidden objects (with names
-starting with a
-.''), or showing only the contents of \code{.GlobalEnv} as
-opposed to all environments on the search path.
+subset of objects, e.\,g. only functions or only data objects, including
+or excluding hidden objects (by names starting with a
+dot), or showing only the contents of \code{.GlobalEnv} as
+opposed to all environments in the search path.

-Several actions are available from the context menu (by right-clicking
-on one of the objects), however some of these actions are only
-available for some types of objects. These allow to search the
+Several actions are available from a context menu (after right-clicking
+on one of the objects), depending on the type of object. These allow to search the
\proglang{R} help for information on that object, to
-open a window with detailed information about the object, to delete, rename or copy the object to a new symbol name, or to
-copy it to the \code{.GlobalEnv}. Further the context menu allows to open
+open a window with detailed information on the object, to delete, rename or copy the object to a new symbol name, or to
+copy it to \code{.GlobalEnv}. Further the context menu allows to open
supported types of objects for editing (see Section~\ref{sec:spreadsheet}; currently, only
-\code{data.frame}s can be edited, and only when inside the \code{.GlobalEnv}).
+\code{data.frame}s can be edited, and only while they exist in \code{.GlobalEnv}).

-An object list similar to the workspace browser (but showing only the
-globalenv() by default) is also used at several places for the
-selection of objects to work with, e.g. in an analysis (see Section~\ref{sec:analyzing_data})
-plugin.
+An object list similar to the workspace browser (but showing only
+\code{.GlobalEnv} by default) is also used in several places for the
+selection of objects to work with, e.\,g. an analysis plugin (see Section~\ref{sec:analyzing_data}).

-Selecting View from the workspace
-browsers context menu opens a new window in the
-document area, which contains the basic information on the object. In
-addition this window has tabs which show the output of
+Selecting View'' from the workspace
+browser's context menu opens a new window in the
+document area, containing basic information on the object. In
+addition, this window has tabs which show the output of
\code{print()}, and \code{summary()}.

\subsection{Code editor}
@@ -144,9 +139,9 @@

\proglang{R} script editor, based on the
-(\url{http://kate-editor.org/}). Features of the
-editor include syntax highlighting on screen and in printouts (for
+(\url{http://kate-editor.org/}). Features of this
+editor include syntax highlighting, both on screen and in printouts (for
\proglang{R} and many other script types), code
folding, block-wise indentation adjustments or commenting, automatic
brackets, search and replace with plain text or regular expressions,
@@ -158,18 +153,18 @@
selection, predefined blocks, or the entire document to the
\proglang{R} engine for evaluation. The editor further
offers object-name completion and function argument hinting (figure
-\ref{fig:code_hinting}A and B) based on the objects which are present in
+\ref{fig:code_hinting}A and B) based on the objects present in
the \proglang{R} workspace\footnote{The object-name
completion and function argument hinting features in RKWard predate the
inclusion of similar features into the core
\proglang{R} distribution. For this reason, they are
technically based on different mechanisms.}. A further feature specific
to the \proglang{R} language is the
-Paste Special action, which allows to
-paste clipboard contents (for example from a separate spreadsheet
-application) as single string, vector, or matrix, in a form suitable
+Paste Special'' action. It allows to
+paste the clipboard content (e.\,g. from a separate spreadsheet
+application) as a single string, vector, or matrix, suitable
for inclusion in an \proglang{R} script, optionally
-transforming it before pasting (figure \ref{fig:special_paste}).
+transforming it in advance (figure \ref{fig:special_paste}).

\begin{figure}[htp]
\centering
@@ -182,7 +177,7 @@
\begin{figure}[htp]
\centering
\includegraphics[width=8.042cm,height=8.143cm]{../figures/special_paste.png}
- \caption{Special paste dialog. This tool allows to paste data (e.g. tabular, text) from the clipboard, directly to an
+ \caption{Special paste dialog. This tool allows to paste data (e.\,g. tabular, text) from the clipboard, directly to an
\proglang{R} script and therefore accelerates the work process with data from different sources
}
@@ -191,8 +186,8 @@

Code editor windows can be created by opening an existing
\proglang{R} script file from the file browser, the
-File-menu, or by creating a new empty script. The script editor can
-also be invoked from \proglang{R}, e.g. using the
+File''-menu, or by creating a new empty script. The script editor can
+also be invoked from \proglang{R}, e.\,g. using the
\code{file.edit()}, \code{file.show()} or \code{fix()}
commands.

@@ -200,14 +195,14 @@
\label{sec:using_R_console}
For users with knowledge of \proglang{R}, RKWard provides direct access to the
embedded \proglang{R} engine in the
-\proglang{R} Console tool window. It is important to note that technically this is an
+\proglang{R} console tool window. It is important to understand that technically this is an
emulation of \proglang{R} running in a console
session, not a real \proglang{R} session. This leads to a few subtle
-differences, e.g. with respect to the command history-feature in
-\proglang{R}. For most purposes, the \proglang{R} Console in RKWard can be used exactly
-like \proglang{R} running in a terminal.
+differences, e.\,g. with respect to the command history feature in
+\proglang{R}.

-The \proglang{R} Console in RKWard provides many of the
+However, for most purposes RKWard's \proglang{R} console can be used exactly
+like \proglang{R} running in a terminal. Adding to that, it provides many of the
features which are also available in the code editor (see Section~\ref{sec:code_editor}).
Most prominently, it also supports syntax highlighting and code
folding, function argument hinting, object-name completion, and pasting
@@ -215,8 +210,8 @@

By default, any code that is submitted to the
\proglang{R} engine from the code-editor or from help
-pages is sent through the \proglang{R} Console,
-however, it can also be configured to the submitted in the background,
+pages, is sent through the \proglang{R} console.
+However, it can also be configured to the submitted in the background,

@@ -224,63 +219,61 @@

Historically, one of the earliest
features of RKWard is a built-in spreadsheet-like data editor.
-Currently editing of \proglang{R} objects from type
+Currently, editing \proglang{R} objects of type
\code{data.frame} is possible. In contrast to the \code{data.frame} editing shipped
with the \proglang{R} core distribution, this editor
-gives the illusion of "in-place" editing of data. New \code{data.frame}s can
-be created and opened from the GUI, or existing objects can be opened
+gives the illusion of in-place'' editing of data. New \code{data.frame}s can
+be created and opened from the GUI, and existing objects can be opened
for editing from the workspace browser. For opening objects from
-\proglang{R} code, the function
-\code{rk.edit()} can be used.
+\proglang{R} code, the function \code{rk.edit()} can be used.

-Meta-data on each column of a \code{data.frame} (i.e. name of the column, data
-type, and potentially data labels) are shown in the upper portion of
+Meta-data on each column of a \code{data.frame} (i.\,e. name of the column, data
+type, and potentially data labels) is shown in the upper portion of
the data editor, and can be manipulated there, while the data itself is
shown in the lower portion. The upper portion can be hidden using a
-slider, to make more room for the display and editing of data.
-Similarly, and editable column showing the row names of the \code{data.frame}
+slider, to save space for the display and editing of actual data.
+Similarly, an editable column showing the row names of the \code{data.frame}
can be shown or hidden separately from the data.

-Factor levels can be edited by double-clicking on the
-Levels row of the meta information of a
-column of type factor. Levels can also be assigned to other types of
+For columns of type \proglang{factor}, factor levels can be edited by double-clicking on the
+Levels'' row of the meta information. Levels can also be assigned to other types of
variables, but only for consecutive integer values. These levels will
be displayed instead of the underlying value, if applicable. Each
column can also be assigned an arbitrary descriptive
-Label, which is stored in
+Label'', which is stored in
\proglang{R} as an attribute of the column.

Contrary to many other editors, the data editor in RKWard does not
-automatically convert columns to a different type. For instance, if a
-non-numeric string is entered into a row of a numeric column, the data
+automatically convert data types of columns. For instance, if a
+non-numeric string is entered into a cell of a numeric column, the data
type of the column remains numeric, and the entered value is
-highlighted in red. Internally, the invalid cell becomes an NA value.
+highlighted in red. Internally, the invalid cell is set to \proglang{NA}.
The entered value is stored separately, in an attribute of the column.
The rationale for this approach is that it offers protection against
-accidental, and possibly undetected conversion of the data type. The
+accidental -- and probably undetected -- conversion of data types. The
user can manually convert the storage mode of a column by simply
selecting a different data type.

-The data editor supports insertion and deletion of rows or columns at an
-arbitrary position. Rows and columns can also be added at the bottom or
-right by simply entering data into the trailing row / column shown in
-gray. Copy and paste is supported, where the area affected by paste
+The data editor supports insertion and deletion of rows or columns at
+arbitrary positions. Rows and columns can also be added at the bottom or
+right by simply entering data into the trailing row/column shown in
+gray. Copy \& paste is supported, where the area affected by paste
operations can optionally be constrained to the selected region, or to
-the dimensions of the table. The data editor can also be used as a data
-viewer by setting it to read-only mode.
+the dimensions of the table. The data editor can also be set to read-only
+mode to examine data objects.

-In the context of the data editor it may be interesting to note that
-RKWard supports the work with multiple objects simultaneously, rather than
-limiting actions to a single active \code{data.frame} as in e.g. \pkg{Rcmdr} or
-\pkg{DeduceR}. Correspondingly more than one data editor window can be opened
-at the same time (figure \ref{fig:data_editors}) by this non-modal interface design.
+In the context of data editing it is noteworthy that
+RKWard supports working with multiple objects simultaneously, rather than
+limiting actions to a single active \code{data.frame}, as with e.\,g. \pkg{Rcmdr} or
+\pkg{DeduceR}. Given this non-modal interface design, multiple data editor
+windows can be opened at once (figure \ref{fig:data_editors}).

\begin{figure}[htp]
\centering
\includegraphics{../figures/data_editors.png}
\caption{RKWard with several \code{data.frame}s in use at the same time. A) One \code{data.frame} is opened for editing in the
main window. B) A second \code{data.frame} is opened as detached window. C) \proglang{R}'s standard data editing features
-(e.g. \code{fix()},\code{edit()}) are also usable within an RKWard session.
+(e.\,g. \code{fix()},\code{edit()}) are also usable within an RKWard session.
In this example \code{fix(DNase)} was invoked from the console (arrow).}
\label{fig:data_editors}
\end{figure}
@@ -288,59 +281,58 @@
\subsection{Handling, manipulating and analyzing data}
\label{sec:analyzing_data}

-Dealing with data, i.e. importing, transforming, filtering, analyzing, and visualizing data is the core
-strength of \proglang{R}, and one central goal of
-RKWard is to make much of this functionality available to a broader
+Dealing with data -- i.\,e. importing, transforming, filtering, analyzing, and visualizing data --
+is the core strength of \proglang{R}, and one central goal of
+RKWard is to make the most of this functionality available to a broader
audience by providing it in the form of easy to use GUI dialogs. Since
the data handling functionality itself is provided by
-\proglang{R}, and its numerous add-on packages, this
+\proglang{R} and its numerous add-on packages, this
can basically be accomplished by defining GUI dialogs, generating
\proglang{R} code according to the settings made in
-the GUI, and evaluating the generated code in the
-\proglang{R} engine. Note: RKWard does not have its
-own file format for data import and export on purpose. It is possible
+the GUI, and have the generated code evaluated by the
+\proglang{R} engine. Note that on purpose, RKWard does not have its
+own file format for data import and export. That is, it is possible
to import data from several sources (see below) or to save and load
-\proglang{R} sessions. This general pattern is the
+\proglang{R} sessions. This general pattern is the %% TODO: MM: i don't think this sentence gets to its point yet. at least i don't get it ;-)
basic recipe for most of the functionality provided by RKWard, and
accordingly, this functionality can be presented in a standardized
fashion\footnote{Internally, this functionality is implemented as
plugins. See Section~\ref{sec:technical_plugins} for details.}. For
-the purpose of the present article, we will present the standard
-elements of the data handling functions at the example of importing CSV
+elements of data handling functions by example of importing CSV
(comma-separated values) data.

At the time of this writing, RKWard provides support for importing SPSS
-files, Stata files, and "delimited text" data. Technically RKWard
-relies on \proglang{R} packages for certain set of
+files, Stata files, and delimited text'' data. Technically RKWard
+relies on \proglang{R} packages for certain sets of
data which were already described elsewhere
-\citep{Murdoch2002}. Of course further formats can
-also be imported using copy and paste (see Sections~\ref{sec:code_editor} and \ref{sec:spreadsheet}), or by
+\citep{Murdoch2002}. Of course, further formats can
+also be imported using copy \& paste (see Sections~\ref{sec:code_editor} and \ref{sec:spreadsheet}), or by
manually entering appropriate \proglang{R} commands in
the \proglang{R} Console (Section~\ref{sec:using_R_console}). To import CSV
data, select File->Import format->Import Text->CSV''
-data from the menu. This will open a dialog as shown in
+data from the menu. This will open the dialog shown in
Figure~\ref{fig:import_data}A. The central area of this dialog is concerned with setting
-the options to control the import. Here, the input field for
-File name is highlighted to indicate that
-it is required to specify a file, before the dialog can proceed.
+the options to control the import. The input field for
+File name is highlighted, to indicate that
+it is required to specify a file before the dialog can proceed.
Further options are available from tabbed pages of the central area.

The right-hand area is common to all data handling
-dialogs. Here, the Submit button is used
+dialogs. Here the Submit button is used
to start the import action. It will become enabled once all required
-settings have been made, i.e. in this case, a file name has been
+settings have been made, i.\,e. in this case a file name has been
selected. The Close button will close the
dialog without taking any action.

-The bottom optionally presents the \proglang{R}
-code (not shown) which corresponds to the current settings, and which will be run
-upon pressing the Submit button (see Section~\ref{sec:importing_data} for generated \proglang{R} code). The
-display is updated dynamically, as the user changes settings, allowing
-to see the effect of each change. The code display can be hidden using
-the Code button in the right-hand section
-of the dialog.
+The bottom area optionally shows the \proglang{R}
+code corresponding to the current settings, and which will be run
+upon pressing the Submit button (see Section~\ref{sec:importing_data} for generated \proglang{R} code). This
+display is updated dynamically as the user changes settings, allowing
+to see the effect of each change instantly. The code display can be hidden using
+the Code button in the right-hand section of the dialog, as it is in the example.

-Most data handling functions will produce some output, which will be
+Most data handling functions will produce some output, which is
sent to the output window. From there it is possible to repeat the
action by clicking on the Run Again link
(see Section~\ref{sec:results_output}).
@@ -350,17 +342,17 @@

For plotting, RKWard relies on the graphics capabilities provided by
\proglang{R}. All \proglang{R}
-devices, including onscreen devices can be used in the regular way.
-However, for the X11() and windows() devices, RKWard will add a menu
-bar and toolbar to the device windows (on the windows platform
+devices, including onscreen devices, can be used in the regular way.
+However, for the \code{X11()} and \code{windows()} devices, RKWard will add a menu
+bar and toolbar to the device windows (on the MS Windows platform,
-including GUI dialogs for exporting the current plot to a number of
+including GUI dialogs for exporting the current plot to several
different file formats, or adding a grid to an existing plot (will not
work for all types of plot). Further, a history mechanism is provided,
-which stores most created plots, automatically, and allows to navigate
+which stores most created plots automatically and allows to navigate
back to earlier plots (figure \ref{fig:plot_history}). The maximum number
-of plots to record, as well as the maximum size of each individual plot
+of plots to record, as well as the maximum size of each individual plot,
is configurable from the settings menu. The plot history is shared
between different instances of the on{}-screen device, yet they behave
independently. For example, if multiple devices are displaying the same
@@ -374,25 +366,28 @@
\includegraphics{../figures/plot_history_cropped.png}
\caption{Onscreen graphics device window in RKWard. The plot history is
available as a drop-down list, allowing to jump directly to a previous
-  plot. In this example five different plots were performed on the same data
+  plot. In this example, five different plots were performed on the same data
set of a random sample (\code{rnorm()}). The plot can be
selectively exported as described in Figure~\ref{fig:boxplot2} via Device->Export...''.
}
\label{fig:plot_history}
\end{figure}

-Also, RKWard provides different plot types (available from the Plots
-menu) with GUI dialogs. For those that are, RKWard supports plot
+Also, RKWard provides different plot types with GUI dialogs,
+available from the Plots menu. For those that are, RKWard supports a plot
preview feature. If the preview button of
the respective dialog is checked, a device window will be opened, which
shows the plot as it would be created with the current settings. The
preview is updated automatically as the user makes changes, allowing to
-see the effect of each setting, directly\footnote{The preview is
+see the effect of each setting instantly\footnote{The preview is
updated asynchronously to keep the GUI responsive; see Section~\ref{sec:technical_graphics}.}. For example, the CLT plugins
under the Distributions menu can be very helpful to dynamically show''
the convergence while teaching. Such preview plots'' are not added to
the history.

+%% TODO: Santa Claus: merry X-mas ;-)
+%% this comment is just to remind we where i was :: MM
+
\subsection{Results output}
\label{sec:results_output}

Modified: branches/jss_dec_10/FINAL_JSS_TEX/RKWard_paper.tex
===================================================================
--- branches/jss_dec_10/FINAL_JSS_TEX/RKWard_paper.tex	2010-12-24 07:11:13 UTC (rev 3314)
+++ branches/jss_dec_10/FINAL_JSS_TEX/RKWard_paper.tex	2010-12-24 19:05:50 UTC (rev 3315)
@@ -12,13 +12,13 @@
\And ~
\And Prasenjit Kapat\\The Ohio State University
\And ~
-	\And Meik Michalke\\Plus Affiliation
+	\And Meik Michalke\\Heinrich Heine University\\D\"usseldorf
}
-\title{RKWard - A Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with \proglang{R}}
+\title{RKWard -- A Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with \proglang{R}}

%% for pretty printing and a nice hypersummary also set:
\Plainauthor{Stefan R\"odiger, Thomas Friedrichsmeier, Prasenjit Kapat, Meik Michalke} %% comma-separated
-\Plaintitle{RKWard - A Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with {R}} %% without formatting
+\Plaintitle{RKWard -- A Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with {R}} %% without formatting
\Shorttitle{RKWard a GUI for \proglang{R}} %% a short title (if necessary)

%% an abstract and keywords
@@ -26,10 +26,10 @@
\proglang{R} is a free open-source implementation of the \proglang{S} statistical computing
language and programming environment. The current status of \proglang{R} is a
command line driven interface with no advanced cross-platform Graphical User
-Interface (GUI) but it includes tools for building such. Over the past
-years proprietary and non-proprietary GUI solutions, based on internal
-or external tool kits, with different scopes and technological concepts
-have emerged. For example, \proglang{Rgui.exe} and \proglang{Rgui.app} have
+Interface (GUI), but it includes tools for building such. Over the past
+years, proprietary and non-proprietary GUI solutions have emerged,
+based on internal or external tool kits, with different scopes and technological concepts.
+For example, \proglang{Rgui.exe} and \proglang{Rgui.app} have
become the de facto GUI on the Windows and MacOS X platforms, respectively, for most users.
In this paper we discuss RKWard which aims to be both a
comprehensive cross-platform GUI and an Integrated Development Environment
@@ -39,7 +39,7 @@
provides an excellent tool to manage different types of data objects;
even allowing for seamless editing of certain types. The objective of
RKWard is to provide a portable and extensible \proglang{R} interface for both
-basic and advanced statistical and graphical analysis while not
+basic and advanced statistical and graphical analysis, while not
compromising on flexibility and modularity of the \proglang{R} programming
environment itself.

@@ -71,7 +71,7 @@
AND\\
Center for Cardiovascular Research (CCR)\\
Charit\'e, Germany\\
-  E-mail: \email{stefan\_roediger at gmx.de}\\
+  E-mail: \email{stefan\_roediger at gmx.de}\\ % couldn't this better be an university mail adress?
E-mail: \email{rkward-devel at lists.sourceforge.net}\\
}

Modified: branches/jss_dec_10/FINAL_JSS_TEX/background.tex
===================================================================
--- branches/jss_dec_10/FINAL_JSS_TEX/background.tex	2010-12-24 07:11:13 UTC (rev 3314)
+++ branches/jss_dec_10/FINAL_JSS_TEX/background.tex	2010-12-24 19:05:50 UTC (rev 3315)
@@ -3,19 +3,19 @@
\label{background}
In mid 1993 Ihaka and Gentleman published initial efforts on the computing
language and programming environment \proglang{R} on the \emph{s-news} mailing list. Ambitions for
-this project were to develop an \proglang{S}-like language but without inheriting memory
-and performance issues. The source code of \proglang{R} was finally released in 1995 and
-development has, since mid 1997, evolved under the umbrella of the \proglang{R}
+this project were to develop an \proglang{S}-like language without inheriting memory
+and performance issues. The source code of \proglang{R} was finally released in 1995, and
+since 1997 development has evolved under the umbrella of the \proglang{R}
Development Core Team \citep{RDCT2001, RDCT2010, Ihaka_Gentlemen_1993}.
\proglang{R} does not include an advanced cross-platform GUI (graphical user interface) as known from other
statistical software packages. However, \proglang{R} includes tools for building GUIs
mainly based on \proglang{Tlc/Tk} \citep{Dalgaard2001, Dalgaard2002}. Since then a
plethora of \proglang{R} GUIs have emerged (see \url{http://www.sciviews.org/_rgui/} for a
-comprehensive list). In 2005 John Fox released version 1.0 of \proglang{R} Commander which
-can be considered a milestone in \proglang{R} GUI development; this was the first GUI
-implementation which was able to deliver the experience of statistical tests,
+comprehensive list). In 2005 John Fox released version 1.0 of \proglang{R Commander}, which
+can be considered a milestone in \proglang{R} GUI development; it was the first GUI
+implementation that was able to deliver the experience of statistical tests,
plots and data manipulation easily accessible for \proglang{R} novices as well as advanced
-users. However, John Fox stated that \proglang{R} Commander's target was to provide
+users. However, John Fox stated that \proglang{R Commander}'s target was to provide
functionality for basic-statistical courses; though the features have increased over
time beyond this \citep{Fox2005, Fox2007}. In November 2002 Thomas Friedrichsmeier
started the RKWard open-source software project with the goal to create an
@@ -25,15 +25,15 @@
For the first group, the aim is to allow any person with knowledge on
statistical procedures to start using RKWard for their everyday work
without having to learn anything about the \proglang{R} programming language,
-at least, initially. At the same time RKWard tries to support users who want to learn and
+at least initially. At the same time, RKWard tries to support users who want to learn and
exploit the full flexibility of the \proglang{R} language for automating or customizing
an analysis. At the other end of the learning curve, RKWard provides advanced IDE (integrated development environment)
features to \proglang{R} experts to assist in writing \proglang{R} scripts. Yet, the idea
-is that, \proglang{R} experts too will benefit from the availability of task-oriented GUI
+is that \proglang{R} experts too will benefit from the availability of task-oriented GUI
dialogs from time to time, such as when exploring an unfamiliar type of analysis
or by allowing to implement routinely performed tasks as a GUI element. In
-addition, many features, such as the integrated data editor and the plot preview
-feature will be useful to \proglang{R} novices and \proglang{R} experts alike in their everyday work
+addition, many features like the integrated data editor and the plot preview
+will be useful to \proglang{R} novices and \proglang{R} experts alike in their everyday work
(see Section \ref{sec:results_output}).

%% TODO: TF: I have edited this section (and the following) a bit more. Please take a look.
@@ -41,22 +41,22 @@
perform any supported task in \proglang{R}, in order to make it easy for the user to see
complete codes for all GUI actions\footnote{
This distinguishes RKWard from \proglang{R} GUIs such as \proglang{Red-R} (\url{http://www.red-r.org/}), which
-  specifically aims to hide the complexities of the \proglang{R} programming language by using concept of visual data-flow
+  specifically aims to hide the complexities of the \proglang{R} programming language, following the concept of visual data-flow
programming \citep{Sutherland1966}.
-}. In doing so, RKWard generates\footnote{
+}. In doing so, RKWard deliberately generates\footnote{
RKWard limits itself to generate \proglang{R} code from GUI settings.
-} relatively verbose code, deliberately. It avoids wrapping complex sequences of data
+} relatively verbose code. It avoids wrapping complex sequences of data
manipulation or analysis into custom high-level \proglang{R} functions. The task of
-providing high-level functions is logically independent of the development the
-GUI frontend, and should best be addressed in dedicated \proglang{R} packages, where needed.
+providing high-level functions is logically independent of the development of the
+GUI frontend, and should best be addressed in dedicated \proglang{R} packages, if neccessary.
This approach allows to make better use of the modular design of \proglang{R}, avoids
-locking in users to a specific GUI application, and allows them more options for
+locking-in users to a specific GUI application, and provides them with more options for
customizing the generated code patterns.

-While RKWard tries to support users wishing to learn \proglang{R}, it is specifically not
+While RKWard tries to address users wishing to learn \proglang{R}, it is specifically not
designed as a teaching tool (such as \pkg{Rcmdr} or \pkg{TeachingDemos}), but as
a productive tool. Dialogs for statistical procedures in RKWard do not
-necessarily show a one-to-one correspondence to the underlying steps in \proglang{R}, but are
+neccessarily show a one-to-one correspondence to the underlying steps in \proglang{R}, but are
rather oriented at statistical tasks. Furthermore, RKWard does not impose
artificial limitations on how users can work with the application. For example,
the user is not limited to using only one \code{data.frame} or one model at a
@@ -65,8 +65,8 @@

%% TODO: TF: I've removed the reference to Beta''-status. It's just an arbitrary estimate without a real definition, anyway.
-or later. However, due to its dependencies, RKWard binaries are effectively
+or higher. However, due to its dependencies, RKWard binaries are effectively
distributable only under the terms of the GPL Version 2. Parts of the documentation are
GFDL (GNU free documentation license) licensed. While the project remains in constant development, a growing
number of users employs RKWard in productive scenarios. The source code,
@@ -85,6 +85,5 @@
The rest of this paper is organized as follows: Section \ref{sec:user_interface} gives an
overview of the main GUI elements and features of RKWard, followed by a short example
of a simple RKWard session in Section \ref{sec:using_RKWard}.
-Next, Section \ref{sec:technical} discusses some technical aspects of the implementation, comparing them briefly to competing GUI solutions, where appropriate. Additionally,
-an example for creating a simple plugin extension to RKWard is shown in Section \ref{sec:example_plugin}.
-Finally, some closing comments in Section \ref{sec:conclusion_summary}.
+Next, Section \ref{sec:technical} discusses some technical aspects of the implementation, comparing them briefly to competing GUI solutions, where appropriate. An example for creating a simple plugin extension to RKWard is shown in Section \ref{sec:example_plugin}.

Modified: branches/jss_dec_10/FINAL_JSS_TEX/installing_starting_RKWard.tex
===================================================================
--- branches/jss_dec_10/FINAL_JSS_TEX/installing_starting_RKWard.tex	2010-12-24 07:11:13 UTC (rev 3314)
+++ branches/jss_dec_10/FINAL_JSS_TEX/installing_starting_RKWard.tex	2010-12-24 19:05:50 UTC (rev 3315)
@@ -1,6 +1,6 @@
\section{Installing and starting RKWard}
\label{sec:installing_starting_RKWard}
-RKWard can be downloaded free of charge in source and binary from
+RKWard can be downloaded free of charge in source and binary form from
\url{http://sourceforge.net/}. On the GNU/Linux
platform, binary packages are available for many major distributions,
including Debian, Ubuntu, OpenSuse, Gentoo, and Fedora. On the Windows

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.