SAS University Edition Setup

Today I set up SAS UE on VMWare Fusion. Everything went fine.

It allowed 4 GB of RAM allocation.

SAS UniversityEdition:Installation Guide for OS X

Requirements

  • OS: OS X 10.8+, 64bit
  • Allows: 2 CPU
  • Recommends: Allocate max \frac{1}{2} of available RAM to VM
  • Browser: Chrome

Using VMware Fusion

  • Verified integrity of the download
  • Extracted archive to

    mkdir ~/VMWare
    
  • Created the UE working directory

    mkdir -p ~/git/github/sas/SASUniversityEdition/myfolders/
    
  • Booted up, logged in, wrote hello-world.sas.

Additional Configuration

  • Settings
    • Processors & Memory
      • Processors: 2 processor cores
      • Memory: 4096 MB RAM
    • Other
      • Isolation
        • ☐ Enable Drag and Drop
        • ☐ Enable Copy and Paste
  • Linefeeds

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.

SAS and WPS

SAS (Statistical Analysis System; is a software suite developed by SAS Institute for advanced analytics, business intelligence, data management, and predictive analytics.

The World Programming System, also known as WPS, is a software product developed by a company called World Programming. WPS allows users to create, edit and run programs written in the language of SAS.

MATLAB and Octave

MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment and fourth-generation programming language.

GNU Octave is a high-level programming language, primarily intended for numerical computations. It provides a command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB.

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.

ADDENDUM

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)
(add-to-list 'ess-style-alist gcr/ess-style)
(setq ess-default-style 'GCR)

Addendum: 2015-08-12

The latest version of ESS includes a RRR style.

It formats Magrittr chains as expected by default with ess-first-continued-statement-offset.