## BlueSky Statistics for R

[BlueSky Statistics is a] Fully featured Statistics application and development framework built on the open source R project

Basically it makes the first 80% of the stuff that you want to do with R very easy.

The very cool part is that you get the R output so it is another great way to learn R itself.

## R and S-PLUS

R is a programming language and software environment for statistical computing and graphics.

R is an implementation of the S programming language combined with lexical scoping semantics inspired by Scheme.

S is a statistical programming language developed primarily by John Chambers and (in earlier versions) Rick Becker and Allan Wilks of Bell Laboratories.

S-PLUS is a commercial implementation of the S programming language sold by TIBCO Software Inc.

## I Wasted Time with a Custom Prompt for R with ESS

I wanted a custom prompt for R with ESS. I wanted a double struck R. I probably did it wrong. It never worked. Actually it worked most of the time, and that is worse than never working. Kind people helped me. I still got it wrong. I take full responsibility. It was better not to do it. If you want to try, here is where I left it.

.Rprofile

Make the ℝ prompt stand out (be sure to tell ESS how to handle this):

options(prompt="ℝ> ")


.emacs.el

Tell ESS how to handle my custom prompt:

(setq inferior-ess-primary-prompt "ℝ> ")


Handle the custom ℝ prompt in ess. Don’t use custom here.

(setq inferior-S-prompt "[]a-zA-Z0-9.[]*\$$?:[>+.] \$$*ℝ+> ")


## How to Format Magrittr Chains with ESS

Here is an example of how to format magrittr chains with ESS. Those interested will also be happy to learn of ess-R-fl-keyword:%op% and ess-%op%-face.

For example, to get the an indent after only the first statement.

(add-to-list 'ess-style-alist
'(my-style
(ess-indent-level . 4)
(ess-first-continued-statement-offset . 2)
(ess-continued-statement-offset . 0)
(ess-brace-offset . -4)
(ess-expression-offset . 4)
(ess-else-offset . 0)
(ess-close-brace-offset . 0)
(ess-brace-imaginary-offset . 0)
(ess-continued-brace-offset . 0)
(ess-arg-function-offset . 4)
(ess-arg-function-offset-new-line . '(4))
))

(setq ess-default-style 'my-style)


Thank you Mr. Vitalie Spinu.

How I did it:

(setq gcr/ess-style
(copy-alist
(assoc 'RRR ess-style-alist)))
(setf (nth 0 gcr/ess-style) 'GCR)
(setf (cdr
(assoc 'ess-continued-statement-offset
(cdr gcr/ess-style)))
0)

The latest version of ESS includes a RRR style.
It formats Magrittr chains as expected by default with ess-first-continued-statement-offset.