GNU R
Z Wikipedii
GNU R jest językiem programowania i środowiskiem do obliczeń statystycznych i wizualizacji wyników. Jest to projekt GNU podobny języka i środowiska S stworzonego w Bell Laboratories (dawniejsze AT&T, obecnie Lucent Technologies) przez Johna Chambersa i jego współpracowników. R może być traktowane jako implementacja języka i całego środowiska S. Wprawdzie są między nimi istotne różnice, ale większość kodu napisanego pod S działa bez problemów pod R. W tej chwili GNU R rozprowadzany jest w postaci kodu źródłowego oraz w postaci binarnej wraz z wieloma dystrybucjami Linuksa. Dostępna jest także wersja dla Microsoft Windows i MacOS.
Spis treści |
[edytuj] GUI
Istnieje kilka graficznych interfejsów użytkownika stworzonych dla R, wśród nich wymienić można RKWard, SciViews-R [1] oraz Rcmdr [2]. Wiele edytorów ma specjalne tryby pracy dla R, np. Emacs (Emacs Speaks Statistics), jEdit [3], Kate (text editor) [4] i Tinn [5]. Jest także plugin R plug-in dla IDE Eclipse.
[edytuj] Cechy
R dostarcza szeroką gamę technik statystycznych (liniowe i nieliniowe modelowanie, klasyczne testy statystyczne, analiza szeregów czasowych, klasyfikacja, grupowanie,...) i graficznych. W dodatku R jest rozszerzalne za pomocą dodatkowych pakietów oraz skryptów pisanych przez użytkownika.
Jedną z mocnych stron R jest łatwość z jaką można tworzyć dobrze zaprojektowane wykresy z jakością nadającą się do publikacji. Dotyczy to także symboli i formuł matematycznych. Wiele uwagi poświęcono minimalizacji wyborów jakie musi wykonać użytkownik nadając formę wykresowi. Mimo istnienia ustawień domyślnych użytkownik ma możliwość pełnej kontroli wykresu.
[edytuj] Przykładowe skrypty
[edytuj] Przykład 1.
Generowanie liczb losowych i wykreślenie histogramu
# generowanie 3000 liczb losowanych z rozkładu normalnego x <- rnorm(3000) # obliczenie histogramu (bez rysowania) dla 50 przedziałów histX <- hist(x, breaks=50, plot=FALSE) # wykreślenie histogramu z kolorem wypełnienia słupków ustawionym na czerwony plot(histX,col="red")
[edytuj] Przykład 2.
Podstawowe statystyki - w trybie interakcyjnym obliczane są proste statystyki dla danych w wektorze x wygenerowanym w poprzednim przykładzie
> summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. -3.47300 -0.71500 -0.04161 -0.02642 0.63570 3.05000 >
[edytuj] Przykład 3.
Podstawowe operacje:
Przypisanie to <-. Wektor to c(pierwszy element, drugi element, ...). Większość operacji można wykonywać zarówno na skalarach jak i na wektorach - w tym drugim przypadku jeśli operacja nie ma sensu wektorowego jest wykonywana na wszystkich elementach wektora.
> x <- 2 > x [1] 2 > y <- c(1,7,10) > y [1] 1 7 10 > sin(y) [1] 0.8414710 0.6569866 -0.5440211 > 1:100 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 [91] 91 92 93 94 95 96 97 98 99 100 > sin(1:100) + 3 [1] 3.841471 3.909297 3.141120 2.243198 2.041076 2.720585 3.656987 3.989358 [9] 3.412118 2.455979 2.000010 2.463427 3.420167 3.990607 3.650288 2.712097 [17] 2.038603 2.249013 3.149877 3.912945 3.836656 2.991149 2.153780 2.094422 [25] 2.867648 3.762558 3.956376 3.270906 2.336366 2.011968 2.595962 3.551427 [33] 3.999912 3.529083 2.571817 2.008221 2.356462 3.296369 3.963795 3.745113 [41] 2.841377 2.083478 2.168225 3.017702 3.850904 3.901788 3.123573 2.231745 [49] 2.046247 2.737625 3.670229 3.986628 3.395925 2.441211 2.000245 2.478449 [57] 3.436165 3.992873 3.636738 2.695189 2.033882 2.260819 3.167356 3.920026 [65] 3.826829 2.973449 2.144480 2.102072 2.885215 3.773891 3.951055 3.253823 [73] 2.323228 2.014854 2.612218 3.566108 3.999520 3.513978 2.555887 2.006111 [81] 2.370112 3.313229 3.968364 3.733190 2.823924 2.076542 2.178182 3.035398 [89] 3.860069 3.893997 3.105988 2.220534 2.051718 2.754748 3.683262 3.983588 [97] 3.379608 2.426618 2.000793 2.493634 > mean(sin(1:100) + 3) [1] 2.998728 > var(sqrt(80:1)) [1] 4.359722
[edytuj] Przykład 4.
Regresja liniowa:
Zmiennej x przypisujemy wartości 1,2,..,10, natomiast zmiennej y wartości funkcji liniowej o współczynniku nachylenia 3 oraz stałej 5 plus błąd losowy o rozkładzie normalnym (średnia=0, odchylenie standardowe=1). Komenda lm(y~x) dopasowuje do wygenerowanych danych model regresji liniowej.
> x<-c(1:10) > y<-5+3*x+rnorm(10) > summary(lm(y~x)) lm(formula = y ~ x) Residuals: Min 1Q Median 3Q Max -2.2687 -0.6058 0.1234 0.8704 2.0585 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 4.6991 0.9836 4.778 0.00139 ** x 3.0101 0.1585 18.989 6.12e-08 *** --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 Residual standard error: 1.44 on 8 degrees of freedom Multiple R-Squared: 0.9783, Adjusted R-squared: 0.9756 F-statistic: 360.6 on 1 and 8 DF, p-value: 6.121e-08
[edytuj] Linki zewnętrzne
- Strona domowa projektu R
- dokumentacja i pakiety dla języka R na CRAN Project
- dokumentacja tworzona w oparciu o mechanizm wiki
- interfejs WWW do R
- The R Graph Gallery prezentacja różnych typów wykresów tworzonych za pomocą R
- Rcmdr, open source GUI dla R
- Wykaz IDE i edytorów skryptów dla R
ABAP • Ada • AWK • Asembler • C • C++ • C# • COBOL • D • Forth • Fortran • Icon • Java • JavaScript • Lisp • Modula 2 • Oberon • Object Pascal • Objective-C • Pascal • Perl • PHP • PL/SQL • Python • REXX • Ruby • sh • Smalltalk • Snobol • SQL • Visual Basic • VB.NET
Akademickie
Comal • Eiffel • Haskell • Logo • MCPL • ML • Nemerle • Prolog • Scheme
Historyczne
ALGOL • APL • BASIC • Clipper • MUMPS • PLAN • PL/I • PL/M • SAS • Simula