R

GNU R The R Foundation Na licencji: na licencji::GNU Lista aplikacji

R to język programowania dedykowany do zastosowań w statystyce, analizie danych i uczeniu maszynowym.

Spis treści

Instalacje

W ICM dostępne są dwie instalacje R, stara, r, której rozwój zakończył się na wersji 3.1.2 i nowa, rx, śledząca najnowszą stabilną wersję R i udostępniająca wariant skompilowany kompilatorami GNU (rx/gnu) jak i kompilatorami Intela (rx/intel).

Co wybrać? Rx, chyba że konieczna jest integracja z Javą lub zgodność z plGrid. Wersja intel jest teoretycznie szybsza, ale może spowodować problemy z pewnymi pakietami. Warto tu nadmienić, że MKL jest podlinkowany w wersji sekwencyjnej, i.e. samo użycie BLASu nie spowoduje wyjścia poza jeden rdzeń CPU.

Rx ma zainstalowane tylko rekomendowane pakiety -- instalację innych należy przeprowadzić samodzielnie z użyciem R-owego mechanizmu install.packages. Polecamy też korzystanie z pakietu packrat do zarządzania zależnościami w kontekście konkretnego projektu. Pewne pakiety wymagają do kompilacji specyficznych bibliotek; w tym wypadku trzeba użyć odpowiedniego dla tej biblioteki modułu; na przykład pakiet rgdal może być zainstalowany po wciągnięciu modułu geobase zawierającego biblioteki GDAL i PROJ, a pakiety h5 i RNetCDF modułu xdf. Jeśli jednak stosownego modułu nie ma, prosimy o kontakt.

Rx automatycznie tworzy bibliotekę użytkownika w katalogu ~/Rx/lib-wersja-kompilator, tak żeby instalacja pakietów mogła być prowadzone nieinteraktywnie i aby nie pomieszały się pakiety skompilowane różnymi kompilatorami (install.packages domyślnie dziedziczy ustawienia kompilacji, można je jednak nadpisać w pliku ~/.R/Makevars). Co za tym idzie, zainstalowanie pakietu w Rx x.xx.y GNU nie powoduje że będzie on dostępny dla Rx x.xx.y Intel ani dla Rx x.xx.z GNU (jak w zwykłym R).

Modulefile Rx dość skrupulatnie sprawdza konflikty; jeśli module load się nie powiedzie z tego powodu, należy wysadzić problematyczne moduły poprzez module unload.

Gotowce do instalacji pakietów

Przy wykorzystaniu `rx` nie zadają żadnych pytań; do wykorzystania w skryptach systemu kolejkowego, itp.

#Instalacja pakiet1, pakiet2, pakiet3; UWAGA: nadpisuje zainstalowane pakiety!
install.packages(
 c('pakiet1','pakiet2','pakiet3'),
 repos='https://cloud.r-project.org/'
)

#Lista zainstalowanych pakietów
rownames(installed.packages())

#Instalacja pakietów, które nie są zainstalowane
toInstall<-c('pakiet1','pakiet2','pakiet3')
toInstall<-setdiff(toInstall,rownames(installed.packages()))
if(length(toInstall)>0) 
 install.packages(toInstall,repos='https://cloud.r-project.org/')

#Aktualizacja pakietów
update.packages(repos='https://cloud.r-project.org',ask=FALSE)


Uruchamianie R na węźle dostępowym hpc

Należy wydać polecenia:

setenv MODULEPATH /icm/hydra/software/icm/module-files:/mnt/soft-hnas/module-files/topola/
module load rx

Nie należy w ten sposób wykonywać żadnych obliczeń, najwyżej proste operacje jak podgląd zawartości pliku RData, sprawdzenie pomocy czy instalacja prostego pakietu. Wszystko inne musi być wykonane na komputerze obliczeniowym przy udziale systemu kolejkowego.


Zobacz też

  • [1] The R Project - strona domowa projektu

Dostępne instalacje -- stara kompilacja

  • Hydra
    • r/3.0.2
    • r/3.1.0
    • r/3.1.2
    • r/3.2.2
  • Topola
    • r/3.0.2
    • r/3.1.0
    • r/3.1.2
    • r/3.5.1

Dostępne instalacje -- nowa kompilacja

Użyj module avail rx.


  • rx
    • rx/gnu/3.1.2
    • rx/gnu/3.3.1
    • rx/gnu/3.3.2
    • rx/gnu/3.3.3
    • rx/gnu/3.4.0
    • rx/intel/3.1.2
    • rx/intel/3.3.1
    • rx/intel/3.3.2
    • rx/intel/3.3.3
    • rx/intel/3.4.0
  • rx
    • rx/gnu/3.1.2
    • rx/gnu/3.3.1
    • rx/gnu/3.3.2
    • rx/gnu/3.3.3
    • rx/gnu/3.4.0
    • rx/intel/3.1.2
    • rx/intel/3.3.1
    • rx/intel/3.3.2
    • rx/intel/3.3.3
    • rx/intel/3.4.0


  • rx
    • rx/gnu/3.1.2
    • rx/gnu/3.3.1
    • rx/gnu/3.3.2
    • rx/gnu/3.3.3
    • rx/gnu/3.4.0
    • rx/intel/3.1.2
    • rx/intel/3.3.1
    • rx/intel/3.3.2
    • rx/intel/3.3.3
    • rx/intel/3.4.0
  • rx
    • rx/gnu/3.1.2
    • rx/gnu/3.3.1
    • rx/gnu/3.3.2
    • rx/gnu/3.3.3
    • rx/gnu/3.4.0
    • rx/intel/3.1.2
    • rx/intel/3.3.1
    • rx/intel/3.3.2
    • rx/intel/3.3.3
    • rx/intel/3.4.0

Lokalizacja

/icm/hydra/soft/Rx/