R to środowisko do obliczeń statystycznych i wchodzi w skład każdej praktycznie dystrybucji Linuksa. Zainstalować można go bez problemu używając yuma, jeżeli już wcześnie nie został zainstalowany domyślnie. Dokumentację w formacie html odnaleźć można w katalogu /usr/lib/R/html/
.
Emacs ma wsparcie do R w postaci pakietu ESS. Instalowanie ESS jest proste: należy rozpakować i dodać do plików startowych Emacsa następujące dwa wiersze (katalog ~/.emacs-local/ess/lisp
oczywiście należy dopasować do własnych ustawień):
(add-to-list 'load-path "~/.emacs-local/ess/lisp")
(require 'ess-site)
Uruchamianie ESS jest jakby nieco mniej oczywiste; być może nawet to co opisałem poniżej jest nieoptymalne. Startuję R z wnętrza Emacsa za pomocą M-x R
Enter. Zostanie wyświetlone w minibuforze pytanie o katalog roboczy, np.:
ESS [S(R): R] starting data directory ...
Należy wybrać odpowiedni katalog. Po pewnej chwili Emacs przejdzie do bufora *R*
, który umożliwia interaktywną pracę z R. W buforze *R*
można działać w środowisku R z wnętrza Emacsa dzięki czemu pracuje się wygodniej: działa dopełnienie (Tab
) oraz help (C-c C-v
). Tyle, że w buforze *R*
polecenia R i wyniki obliczeń są przemieszane i szybko można się pogubić. Lepiej pisać program (skrypt) R w osobnym buforze a wyniki oglądać w buforze *R*
(ogólnie *R:numer-procesu*
, jeżeli działamy z więcej niż jednym skryptem, tj. dla drugiego skryptu zostanie utworzony bufor *R:2*
, dla trzeciego *R:3*
, itd.). Aby to osiągnąć należy otworzyć (nowy) plik za pomocą standardowego polecenia C-x C-f
. Plik powinien mieć rozszerzenie .r
. Bufor przejdzie do trybu ESS co zostanie zasygnalizowane pojawieniem się napisu ESS w wierszu trybu (modeline).
W tym buforze także działa pomoc (C-c C-v
) i dopełnianie (C-c C-Tab
). Pojedynczy wiersz ze skryptu R można uruchamiać za pomocą ess-eval-line
(C-c C-j
; uwaga: polecenia podzielone na wiersze wymagają naciśnięcia C-c C-j
dla każdego wiersza); cały blok poleceń zaś za pomocą ess-eval-region
(C-c C-r
). Drobna niedogodność to przechodzenie pomiędzy różnymi oknami: tematów pomocy, R
oraz bufora ze skryptem R (ESS otwiera/zamyka okna mało ,,intuicyjnie''). Ponieważ skrypty R są krótkie dobrym pomysłem jest podział ekranu na pół (C-x 2
) i wyświetlanie w drugim oknie bufora *R*
.
Prosty przykład wykorzystania R do określenia związku między poziomem korupcji a sposobem głosowania w sprawie zaakceptowania przez ISO specyfikacji OOXML można znaleźć w Corrupt countries were more likely to support the OOXML document format (Kai Puolamäki). Rysunek obok pokazuje wykonanie skryptu R z ,,wnętrza'' Emacsa (jak widać nawet okno zawierające histogram też się ładnie wyświetliło).
Brak komentarzy:
Prześlij komentarz