Język R jest opracowaną w ramach projektu GNU "wolną" wersją języka S. Jest to środowisko do analizy danych obejmujące:
Język R jest dostępny w postaci kodu źródłowego oraz skompilowanych pakietów binarnych na platformy Linux, Alpha, MacOS, Windows. Więcej informacji o języku R można znaleźć na stronach CRAN (The Comprehensive R Archive Network), gdzie dostępne są pakiety źródłowe i binarne, dokumentacja, oraz obszerne zasoby bibliotek.
Każda osoba z doświadczeniem programistycznym może w krótkim czasie opanować umiejętność programowania w języku R. Dostępne w nim wyrażenia i struktury sterowania odpowiadają tym, które są doskonale znane z większości języków programowania ogólnego przeznaczenia, a drobne różnice składniowe nie są istotną przeszkodą. Szczególnej uwagi wymagają pewne specyficzne mechanizmy języka, w znakomity sposób ułatwiające manipulacje na danych w postaci tabelarycznej, oraz bogaty zestaw funkcji bibliotecznych.
Najlepszą metodą przyswojenia sobie podstaw języka R jest przestudiowanie i przećwiczenie jednego z dostępnych kursów, np.:
Godne uwagi są także:
W trakcie samodzielnego korzystania z języka przydatne mogą być materiały referencyjne, np.:
Poza tym pomoc dostępna dla operatorów języka i funkcji bibliotecznych jest w większości przypadków faktycznie pomocna. W tworzeniu pakietów języka R pomoże artykuł Creating R packages: A Tutorial.Rozpoczynając korzystanie z języka R szczególną uwagę należy zwrócić na następujące elementy:
read.table, write.table),
apply itp.),
install.packages) i dostępu do ich funkcji (funkcja
library) oraz zbiorów danych (funkcja data),
Ze względu na zakres wykładu i projektu z MOW na szczególną uwagę zasługują następujące pakiety języka R:
stats -- standardowe funkcje statystyczne i niektóre
podstawowe algorytmy klasyfikacji, aproksymacji i grupowania
(m.in. model liniowy, algorytm k średnich, algorytm wstępującego
grupowania hierarchicznego),
mlbench -- popularne zbiory danych do eksperymentów,
tree, rpart -- drzewa decyzyjne,
kknn, knncat, knnTree,
knnflex, knnFinder, class --
modele pamięciowe,
boost -- metody boosting,
ipred -- metody bagging,
randomForest -- lasy losowe,
cluster, flexclust -- grupowanie,
klaR -- kilka technik klasyfikacji (naiwny
klasyfikator bayesowski, kNN, SVM),
e1071 -- różne użyteczne funkcje, m.in. do
klasyfikacji, aproksymacji i grupowania (w tym naiwny klasyfikator
bayesowski, SVM, strojenie parametrów algorytmów),
arules -- reguły asocjacyjne,
deal -- sieci bayesowskie,
RWeka -- wiele algorytmów modelowania (interfejs do biblioteki Weka),
CORElearn -- wiele algorytmów modelowania,
rminer -- wiele algorytmów modelowania,
FSelector -- selekcja atrybutów,
tm -- analiza tekstu,
lsa -- analiza tekstu za pomocą metody LSA oraz
funkcje pomocnicze,
RODBC -- dostęp do baz danych przez ODBC,
fortunes -- sentencje o języku R.
Ładowanie pakietu odbywa się za pomocą funkcji library.
Listę zainstalowanych pakietów można sprawdzić wywołując tę funkcję
bez argumentów. Listę wszystkich nazw (funkcji i zmiennych)
udostępnianych przez załadowany pakiet można sprawdzić wywołując
funkcję ls z argumentem postaci
"package:nazwa_pakietu".
Siła i elastyczność języka R w największym stopniu ujawnia się przy korzystaniu z tradycyjnego interfejsu linii polecenia, istnieją jednak także interfejsy graficzne ułatwiające używanie dostępnych funkcji R, które mogą początkującym pomóc w oswojeniu się z tym środowiskiem (np. Rattle), oraz środowiska deweloperskie (IDE) ułatwiające tworzenie i uruchamianie kodu (np. StatET, RStudio).