'Preface About this book Two common types of user interfaces in statistical computing are the command line interface (CLI) and the graphical user interface (GUI). The usual CLI consists of a textual console in which the user types a sequence of commands at a prompt, and the output of the commands is printed to the console as text. The R console is an example of a CLI. A GUI is the primary means of interacting with desktop environments, such as Windows and Mac OS X, and statistical software, such as JMP. GUIs are contained within windows, and resources, such as documents, are represented by graphical icons. User controls are packed into hierarchical drop-down menus, buttons, sliders, etc. The user manipulates the windows, icons, and menus with a pointer device, such as a mouse. The R language, like its predecessor S, is designed for interactive use through a command line interface (CLI), and the CLI remains the primary interface to R. However, the graphical user interface (GUI) has emerged as an effectivealternative, depending on the specific task and the target audience. With respect to GUIs, we see R users falling into three main target audiences: those who are familiar with programming R, those who are still learning how to program, and those who haveno interest in programming. On some platforms, such as Windows and Mac OS X, R has graphical front-ends that provide a CLI through a text console control. Similar examples include the multi-platform RStudioTM IDE, the Java-based JGR and the RKWard GUI for the Linux KDE desktop. Although these interfaces are GUIs, they are still very much in essence CLIs, in that the primary mode of interacting with R is the same. Thus, these GUIs appeal mostly to those who are comfortable with R programming'--