RKWard

From KDE Wiki Sandbox
Revision as of 08:13, 21 July 2011 by Claus chr (talk | contribs) (Importing a new version from external source)
Other languages:


Oversigt

RKWard is an integrated development environment (IDE) built on top of the KDE Development Platform for the R programming language, a language heavily oriented for statistics and data manipulation,

Features

  • Development environment with syntax highlighting, code completion, object browser, and data editor
  • Transparent interface to R
  • Graphical tools to access R's statistical and graphing functions
  • Integrated R prompt for read-eval-print-loop (REPL) work
  • R package management
  • Loading/Saving R's workspace states
  • Extensible through ECMAscript plugins


Modes of operation

RKWard can be used in two different ways: either like a normal IDE; that is to write code which then will be incorporated in programs or scripts, via an interactive session where the code is immediately evalued (this is the preferred way of working of R programmers) and a mixture of both.

Interactive interpreter

RKward offers an integrated R prompt which can be used in a so-called "read-eval-print-loop" (REPL) way.

The interactive prompt

The prompt is by all intents and purposes identical to the R console prompt, with some additional capabilities. For example, along with function name completion, it supports calltips (pop-up boxes which show a function's signature) and also various way of copying and pasting the code.

This way operates like a normal R session: commands are inputted, output and other objects are created, and results can be shown or saved to disk using R's own functions.

Programming in RKward

The code editor

Programming in RKWard is done like in any other IDE: the code editor offers completion, syntax highlighting, and calltips. The code editor however offers additional functions that can be used in an interactive session. Specific commands can be issued to execute all the currently loaded code, or only the selected code: this is particularly useful when writing functions to be then prototyped in an interactive session.

Taking a look at R objects

Since working in R often involves loading "libraries" (add-on packages) and creating multiple objects, RKward offers an interface to inspect and show the objects loaded in memory by R.


The object browser


The object browser allows access to both R's global environment and the packages's own environment. Additional information are available either as tooltips or by double-clicking items, which will open a new tab in RKWard's interface showing information on the object in question.

Data manipulation

Along with code aids, RKward has a way to handle data directly from the program. In particular, one can view matrices and data frames (R's own definition of data tables) in the interface, or create new ones.

Existing data can be imported: RKWard supports text files (TSV/CSV) and also data from widely used statistics programs such as STATA or SPSS.


The TSV import dialog


The interface can show the column names, the types of the columns (numbers, strings, etc.) and the data itself, using a spreadsheet-like user interface.


The data browser


There is direct support for editing and data manipulaiton: for example, adding rows or columns, changing row headers, and also the data type of the columns themselves, acting like a simplified spreadsheet.

Interactive statistics and plotting

RKWard offers simplified front-ends to a number of R's statistical functions and to generate graphs for data. These can be accessed from the Analysis, Plots and Distributions menus.


One of the many analysis aids


For example, many type of plots can be executed through the functions in the aforementioned menus. Each function (as the example above shows) has its dedicated configuration dialog, where any compatible object from R's global namespace can be used. Also the dialogs offer shortcuts to specific plot or analysis options. Results are then output in HTML form in RKWard's main window, where they can be exported or saved.