Porównanie środowiska R z środowiskiem MatLab 7.1

Podobne dokumenty
Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Wprowadzenie do środowiska

Matlab MATrix LABoratory Mathworks Inc.

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Wstęp do Programowania Lista 1

Komputerowe Wspomaganie Obliczeń. dr Robert Kowalczyk

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

Zanim zaczniemy GNU Octave

Instalacja

Informatyka. Wykład 0. Witold Dyrka 13/2/2012

1 Podstawy c++ w pigułce.

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Obliczenia w programie MATLAB

MATLAB - podstawy użytkowania

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

Zakaz rozpowszechniania w sieci, tylko na użytek studentów informatyki UwB. WYKŁAD 1- Matlab

MATLAB. Dubacki Mariusz WFAiIS 2012

Writer wzory matematyczne

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Matlab Składnia + podstawy programowania

1 Programowanie w matlabie - skrypty i funkcje

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

MATHCAD OBSŁUGA PROGRAMU

Elementy metod numerycznych - zajęcia 9

1 Podstawy c++ w pigułce.

Matlab Składnia + podstawy programowania

Wprowadzenie do programu Mathcad 15 cz. 1

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH. Dr hab. inż. Jacek Kucharski, prof. PŁ Dr inż. Piotr Urbanek

Podstawy MATLABA, cd.

Programowanie w języku Python. Grażyna Koba

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

Rok akademicki: 2016/2017 Kod: JIS s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie komputerowe. Zajęcia 1

Programowanie obiektowe

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

MATLAB Podstawowe polecenia

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Pętle iteracyjne i decyzyjne

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

MentorGraphics ModelSim

Pakiety matematyczne INP2708W,L

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

CMS- kontakty (mapa)

Wykorzystanie programów komputerowych do obliczeń matematycznych

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

Przewodnik Szybki start

Podręcznik użytkownika programu. Ceremonia 3.1

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Informatyka II. Laboratorium Aplikacja okienkowa

Algorytmy sztucznej inteligencji

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Laboratorium nr 1. i 2.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

Zastanawiałeś się może, dlaczego Twój współpracownik,

Utworzenie pliku. Dowiesz się:

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Architektura dużych projektów bioinformatycznych

Wprowadzenie do systemu Scilab

Podstawowe operacje graficzne.

Wykład A1. AutoCAD Dr inż. Jarosław Bydłosz

Inżynieria obrazów cyfrowych. Ćwiczenie 1. Środowisko MATLAB + Image Processing Toolbox - wprowadzenie

Zakłócenia w układach elektroenergetycznych LABORATORIUM

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie

Sylabus Moduł 2: Przetwarzanie tekstów

MATLAB - laboratorium nr 1 wektory i macierze

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Matematyka finansowa w pakiecie Matlab

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Modelowanie rynków finansowych z wykorzystaniem pakietu R

1. Opis okna podstawowego programu TPrezenter.

Transkrypt:

Porównanie środowiska R z środowiskiem MatLab 7.1 MATLAB jest środowiskiem obliczeniowym przeznaczonym dla inżynierów i naukowców, umożliwiającym przeprowadzanie obliczeń matematycznych, analiz numerycznych, wizualizacji otrzymanych wyników (2D, 3D). Posiada swój język programowania, co umożliwia tworzenie algorytmów oraz pisanie w pełni funkcjonalnych programów. Trochę historii Początki Matlab-a sięgają lat 80-tych. Cleve Moler napisał program, który umożliwiał korzystanie z bibliotek języka Fortran do obliczeń macierzowych: Linpack i Eispack, bez potrzeby programowania w Fortranie. Programik ten napisany (także w Fortranie) w formie prostego interaktywnego języka poleceń i rozprowadzany na zasadach public domain był pierwowzorem Matlaba. W 1985 roku pojawiła się pierwsza wersja programu, wydana przez firmę The MathWorks Inc., która do dziś zajmuje się rozwojem i sprzedażą pakietu Matlab. R-PROJECT stanowi zintegrowany zestaw narzędzi programowych przeznaczonych do obliczeń statystycznych, analiz numerycznych, wizualizacji wyników (2D, 3D). Posiada język programowania S, który zapewnia tworzenie własnych algorytmów. Trochę historii Twórcami R są Robert Gentleman i Ross Ihaka, znani jako "R & R" (stąd nazwa programu). Od 1997 roku środowisko rozwija się dzięki wspólnej pracy wielu osób z całego świata. Matlab - Informacje ogólne Nazwa programu pochodzi od angielskich słów MATrix LABoratory, gdyż początkowo program przeznaczony był do numerycznych obliczeń macierzowych. Obecnie program ten zawiera wiele narzędzi zgrupowanych w pakiety, które ukierunkowane są na różne obszary zastosowań. Pakiety te tworzą biblioteki dodatkowe (ang. Toolbox) przeznaczone na przykład do: Strona 1 z 11

analiz i obliczeń finansowych Financial Toolbox przetwarzania obrazów Image Processing Toolbox Narzędzia informatyczne w badaniach naukowych analiz informacji geograficznych i wyświetlania map, z możliwością dostępu do zewnętrznych źródeł geograficznych Mapping Toolbox projektowania i symulacji sieci neuronowych Neural Network Toolbox rozwiązywania szerokiej gamy zadań statystycznych, począwszy do generowania liczb losowych, poprzez dopasowywanie krzywych, projektowanie eksperymentów statystycznych, a skończywszy na sterowaniu procesami statystycznymi Statistic Toolbox Szczegółowe informacje można znaleźć na stronie www.mathworks.com. Oprócz bibliotek oferowanych przez firmę The MathWorks Inc. istnieje wiele dodatkowych pakietów dostępnych między innymi na oficjalnej stronie wymiany plików Matlaba - Matlab Central An open exchange for the MATLAB and Simulink user community www.mathworks.com/matlabcentral/fileexchange. R - Informacje ogólne R jest również środowiskiem opierającym się na szerokiej gamie bibliotek. Wersja podstawowa obejmuje 25 skrzynek narzędziowych tworzących pakiet podstawowy. Wiele innych dostępnych jest na stronie www.cran.r-project.org. Interfejs programu Oba środowiska działają w systemie komend - poleceń. W przypadku R mamy do dyspozycji jedno okno tj. okno komend (R Console). W przypadku Matlaba główne okno podzielone jest na trzy obszary: Okno Komend (Command Window) Okno Przestrzeni Roboczej (Workspace) składające się z dwóch zakładek: Workspace, w którym wyświetlane są zmienne (nazwa, rodzaj obiektu, typ, wymiar) i Current Direktory, który zawiera listę wszystkich plików znajdujących się w bieżącym katalogu roboczym Okno Historii (Command History), które zawiera listę ostatnio stosowanych komend. Strona 2 z 11

Workspace Command Window Command History Rys.1 Główne okno programu Matlab Organizacja środowiska pracy w Matlab ie jest bardziej przyjazna niż w R, gdyż pozwala na łatwe monitorowanie pojawiających się zmiennych, szybki podgląd ich wartości (dwuklik) oraz wizualizację (pasek narzędzi). Okno Komend pozwala na wygodny wgląd w polecenia i powtórne wykonanie dowolnego z nich. Oba środowiska pozwalają na powrót do poprzednich poleceń wykonanych w danej sesji (klawisze strzałek). W przypadku R mamy możliwość zapisu wszystkich zmiennych powstałych w danej sesji (.Rdata) oraz wszystkich poleceń (.Rhistory). W Matlab ie mamy możliwość zapisu dowolnych zmiennych (.mat). Nie ma specjalnego polecenia do zapisu historii (można ją zachować w pliku.m) Wprowadzanie poleceń Matlab Po pojawieniu się symbolu >> w oknie komend możemy wpisać dowolne polecenie kończąc je średnikiem i akceptując klawiszem ENTER. Przy braku średnika wynik zostanie wyświetlony na ekranie. R Po pojawieniu się symbolu > w oknie komend możemy wpisać dowolne polecenie, akceptując je klawiszem ENTER. Definiowanie zmiennych Matlab Wszelkie wprowadzane i deklarowane dane (liczby, tekst) są traktowane jako macierz. Nawet pojedyncza liczba jest macierzą o wymiarze 1x1. Charakterystyczne dla języka programowania Matlaba jest automatyczne rozpoznawanie typów zmiennych - nie Strona 3 z 11

występuje deklaracja typu. Typ zmiennej rozpoznawany jest przy jej pierwszym użyciu, należy tylko odpowiednio ją wywołać. Typ Wywołanie double a=1 (a=[1]) char a='napis' sparse a=sparse(1) struct a.składnik=1 cell a={1} Dowolną macierz zawierającą liczby można przekonwertować na zmienną typu logicznego logical(nazwa_zmiennej). Różne dane (liczby, tekst, macierze) można gromadzić w macierzach typu strukturalnego (struct) lub w macierzach typu komórkowego (cell). R Podstawowymi obiektami są wektor, tablica, macierz, lista, data.frame (obiekt złożony). Każdy z tych obiektów może mieć typ numeryczny (double), całkowity (integer), logiczny (logical), tekstowy (char). Typ zmiennej jest również rozpoznawany przez R przy jej pierwszym użyciu. W obu środowiskach przy deklarowaniu zmiennych istnieje rozróżnienie między dużymi i małymi literami. Ładowanie bibliotek dodatkowych Matlab biblioteka jest gotowa do wykorzystania po umieszczeniu jej w katalogu o nazwie work, który tworzy się przy instalacji Matlaba. R biblioteka jest gotowa do wykorzystania po umieszczeniu jej w katalogu library, który tworzy się przy instalacji R, i wpisaniu w oknie komend polecenia library (nazwa_biblioteki). Wizualizacja danych Oba środowiska umożliwiają wizualizację danych 2D, 3D oraz zapis wykresów w dowolnym formacie graficznym. Matlab Wizualizacja danych w postaci wykresów realizowana jest poleceniem plot(x,y). Wykres wyświetlany jest w osobnym oknie. W przypadku, gdy chcemy wyświetlić kilka zestawów danych na jednym wykresie, po każdym wywołaniu funkcji plot() wpisujemy polecenie hold on. Strona 4 z 11

Dane przestrzenne można zobrazować wykorzystując funkcję mesh(macierz), otrzymujemy wówczas model wireframe lub poleceniem surf(macierz) otrzymując model powierzchniowy. Dane przestrzenne można zobrazować w postaci warstwic - polecenie contour(macierz). Funkcją pozwalającą na wizualizację dowolnych danych w jednym oknie różnymi sposobami prezentacji, jest polecenie subplot(ilość_wierszy, ilość_kolumn, numer_pola), które dzieli okno na ilość_wierszy x ilość_kolumn części. Rys 2. Przykład zastosowania polecenia subplot() - Matlab R Wykresy funkcji możemy tworzyć w dwojaki sposób poleceniem plot(x,y), które umożliwia wyświetlenie pojedynczej funkcji oraz poleceniem curve(sin(x),min,max,add=t), które pozwala na rysowanie dowolnej ilości funkcji na jednym wykresie. Wizualizacja danych przestrzennych realizowana jest poleceniem persp(x,y,z). Odpowiednikiem funkcji subplot() jest polecenie par(mfrow=c(ilość_wierszy,ilość_kolumn)), które dzieli przestrzeń wizualizacji na ilość_wierszy x ilość_kolumn części. Wykresy wyświetlane są w kolejności od prawej do lewej, zaczynając od lewego górnego obszaru. Strona 5 z 11

Rys 3. Przykład zastosowania polecenia par() - R Tworzenie funkcji Matlab Umożliwia zapis pewnej liczby poleceń w postaci funkcji. Funkcje zgromadzone są w plikach z rozszerzeniem.m (pliki skryptowe) i mogą posiadać dowolną liczbę parametrów wejściowych oraz dowolną ilość obiektów wyjściowych. function [wynik]=nazwa(parametry) lista poleceń oddzielona średnikami W starszych wersjach Matlaba w jednym pliku mogła znajdować się tylko jedna funkcja. Obecnie w jednym pliku może znajdować się wiele funkcji, wywołując m-plik wywoływana jest pierwsza funkcja w pliku. M-pliki funkcyjne są programami działającymi w środowisku Matlaba. R Również umożliwia zapis dowolnej ilości poleceń w postaci funkcji (pliki.r). Funkcja może posiadać dowolną ilość parametrów wejściowych oraz dowolną ilość obiektów wyjściowych. Wyniki muszą się jednak znajdować w ostatniej linii funkcji. Polecenia realizowane w ramach danej funkcji zawarte są w nawiasach klamrowych {}. wynik=function(parametry) { lista polecenia wynik } Strona 6 z 11

R-pliki są więc programami działającymi w środowisku R. Zarówno w środowisku R jak i w środowisku Matlab, przy tworzeniu plików skryptowych, mamy dostępne instrukcje warunkowe oraz pętle. W przypadku Matlaba listę poleceń realizowaną przez instrukcję kończymy wpisując end, w R zamykamy ją w nawiasie klamrowym {}. Matlab R if (warunek) if (warunek) { Lista poleceń Lista poleceń end } W plikach skryptowych możemy umieszczać komentarz: dla R komentarz oznaczamy umieszczając na początku linii podwójny hash ##, w przypadku Matlaba jest to znak procent %. Tworzenie plików skryptowych jest bardziej przyjazne w Matlab ie ze względu na rozróżnienie kolorem komentarzy od poleceń oraz kluczowych wyrazów. % Tu umieszczamy komentarz, który wyświetli się w Oknie Komend po wywołaniu polecenia help(nazwa) function [wynik]= nazwa(zmienne) %Dowolny Komentarz if (warunek) polecenie1; polecenie2; else polecenie3; end Tworzenie GUI (graficznego interfejsu użytkownika) Matlab Środowisko Matlab umożliwia nie tylko definiowanie własnych funkcji, ale również tworzenie do nich interfejsu graficznego. Można go zdefiniować na dwa sposoby. Pierwszy to określenie parametrów formatki oraz rozmieszczenia i wymiaru wszystkich elementów w pliku *.m wraz z funkcją. Drugi to wykorzystanie narzędzia GUIDE, w którym formatkę buduje się z klocków, pod którymi umieszcza się odpowiednie funkcje. Dzięki temu można stworzyć własny program o standardowym interfejsie. R - Dodatkowa biblioteka gwidgets pozwala na budowę interfejsu graficznego w systemie poleceń. Strona 7 z 11

Przestrzeń formatki Elementy Rys 4. Okno narzędzia GUIDE - Matlab Rys 5. Przykładowa formatka zbudowana przy wykorzystaniu narzędzia GUIDE Matla Tworzenie zewnętrznych aplikacji Matlab Napisana w Matlab ie aplikacja działa wyłącznie w jego środowisku. Aby mogła być wykorzystywana samodzielnie należy skompilować ją do pliku.exe, co Matlab umożliwia. Help Matlab Posiada świetnie zorganizowany Help w formie przeglądarki. Przeszukiwanie możliwie jest w czterech trybach: przeszukiwanie bibliotek (Contents), przeszukiwanie po Strona 8 z 11

nazwach funkcji (Index), poszukiwanie fraz i poszukiwanie kontekstowe w treści pomocy (Serach) oraz przeszukiwanie funkcji i aplikacji demonstracyjnych (Demos). Każda funkcja opisana jest szczegółowo z przykładami jej stosowania oraz w przypadku funkcji matematycznych podstawami teoretycznymi. Rys 6. Okno pomocy R cyt. Cała sztuka używania R to znajomość nazw funkcji (dr hab. inż. Krystian Pyka). R umożliwia przeszukiwania plików pomocy po nazwach funkcji apropos(nazwa_funkcji) oraz po frazach help.search( fraza ). Interesujących bibliotek możemy szukać z wykorzystaniem przeglądarki zamieszczonej na stroni R Project. Jednak wyszukiwanie funkcji potrzebnych do rozwiązania danego zagadnienia nastręcza o wiele więcej trudności niż w Matlab ie. Matlab na przykładzie wybranych lekcji Lekcja 1 Przykład 1: Matlab jako kalkulator >> 5+5 ans = 10 >> sin(pi/4)^4 ans = 0.2500 Przykład 2: przypisanie wartości zmiennej utworzenie wektora >> a=68 a = 68 Strona 9 z 11

>> wektor=rand(1,5) wektor = 0.7621 0.4565 0.0185 0.8214 0.4447 >> sekwencja=(1:2:10) sekwencja = 1 3 5 7 9 Przykład 5: definiowanie macierzy >> macierz2d=rand(2,2) macierz2d = 0.2548 0.2324 0.8656 0.8049 >> macierz3d=rand(2,2,2) macierz3d(:,:,1) = 0.9084 0.2393 0.2319 0.0498 macierz3d(:,:,2) = 0.0784 0.1909 0.6408 0.8439 Lekcja2 Przykład 6: przykładowe obiekty - tworzenie macierzy komórkowej >> cell={rand(2,2),ones(2,2)} cell = [2x2 double] [2x2 double] >> cell{1,1} ans = 0.1739 0.9943 0.1708 0.4398 >> cell{1,2} ans = 1 1 1 1 Przykład 7: Mediana jako przykładowa wartość statystyczna >> madiana=median(macierz2d) mediana wyznaczana jest dla każdej kolumny macierzy madiana = 0.5602 0.5186 >> madiana=median(median(macierz2d)) mediana macierzy madiana = 0.5394 Przykład 8: Rozkład macierzy >> s = svd(macierz2d) s = 1.2312 0.0032 Przykład 9: Wykresy funkcji zapis do pliku >> x=[-pi:0.5:pi]; >> y=sin(x); >> z=sin(x).^2+tan(x)/2; >> figure(2),plot(x,y,'color','r'); hold on, plot(x,z,'color','b'), title 'Wykresy funkcji',legend('sin(x)','sin(x)^2+tan(x)/2','location','northeastoutside'); >> saveas(gcf,'wykres.pdf'); Strona 10 z 11

Lekcja 3 Przykład 10: Rozwiązanie układu równań >> A2=dlmread('A2.txt'); >> B2=dlmread('B2.txt'); >> B2=B2'; transpozycja macierz B2 >> wyn=(a'*a)^-1*(a'*b2); >> wyn wyn = 1.2500 1.7500 3.0000 Lekcja 4 Przykład 11: Zapisywanie do pliku tekstowego >> dlmwrite('a2.txt', A2,'precision', '%.0f','-append', 'delimiter', ' ','newline', 'pc'); Podsumowanie Podstawowa konfiguracja Matlaba jest dużo bogatsza niż R. Znalezienie interesującej biblioteki w przypadku R wymaga od użytkownika poświęcenia większej ilości czasu, podczas gdy w większości przypadków Matlab jest w taką bibliotekę zaopatrzony (pomijając biblioteki przeznaczone do bardzo wąskich rozwiązań). Dużym minusem R jest Help, który ze względu na mnogość i różne rozmieszczenie pakietów, nie spełnia oczekiwań początkującego użytkownika. Jednak dużym plusem i przewagą R - Project jest darmowy dostęp do środowiska. Trudno jest porównać oba środowiska ze względu na ich złożoność. Wybór pomiędzy nimi jest silnie uzależniony od bogactwa biblioteki, które ma nam pomóc w osiągnięciu celu do jakiego dążymy. Strona 11 z 11