Samouczek języka R - przewodnik dla początkujących do nauki programowania w języku R.



Ten blog poświęcony samouczkowi języka R zawiera wprowadzenie do narzędzia języka R i pomaga szczegółowo zrozumieć różne podstawy programowania w języku R wraz z przykładami.

R to najpopularniejsze narzędzie do analizy danych, ponieważ jest open source, elastyczne, oferuje wiele pakietów i ma ogromną społeczność. Jest przeznaczony zarówno dla programistów, statystyków, jak i osób zajmujących się eksploracją danych, a tym samym zapoczątkował popularność .W tym blogu samouczka języka R dam ci pełny wgląd w język R wraz z przykładami.

Poniżej znajdują się tematy w tym blogu samouczka języka R, które będę omawiać w następującej kolejności:





  1. Dlaczego potrzebujemy Analytics ?
  2. Co to jest analiza biznesowa ?
  3. Dlaczego R i kto używa R. ?
  4. Instalacja R.
  5. Operatorzy danych
  6. Typy danych
  7. Kontrola przepływu

Samouczek R: Dlaczego potrzebujemy analizy?

Zanim odpowiem na pytanie, przedstawię niektóre problemy i ich rozwiązania w R w wielu domenach.



bankowość - Samouczek R - Edureka

Bankowość :

W bankach codziennie generowane są duże ilości danych o klientach. WPodczas regularnych kontaktów z milionami klientów śledzenie ich kredytów hipotecznych staje się trudne.



Rozwiązanie :

R buduje niestandardowy model, który utrzymuje pożyczki udzielone każdemu indywidualnemu klientowi, co pomaga nam decydować o kwocie do spłaty przez klienta w czasie.

Ubezpieczenie :

Ubezpieczenie w dużej mierze zależy od prognozowania. Jest trudno abyzdecydować, którą zasadę zaakceptować lub odrzucić.

Rozwiązanie:

Wykorzystując ciągły raport kredytowy jako dane wejściowe, możemy stworzyć model w R, który nie tylko oceni apetyt na ryzyko, ale także sporządzi prognozę predykcyjną.

Opieka zdrowotna:

Każdego roku miliony ludzi są przyjmowane do szpitali, a miliardy są wydawane rocznie tylko w procesie przyjęcia.

Rozwiązanie :

Biorąc pod uwagę historię pacjenta i historię medyczną, można zbudować model predykcyjny, aby określić, kto jest zagrożony hospitalizacją i do jakiego stopnia sprzęt medyczny powinien być skalowany.

Teraz wiemy, jak analityka danych pomaga organizacjom wykorzystać ich dane i wykorzystać je do zidentyfikowania nowych możliwości. Jeśli mówimy o potrzebie analityki w organizacji, musisz natknąć się na te 4 aspekty:

Następnie przejdźmy dalej w blogu z samouczkami języka R, gdzie najpierw zrozumiemy, czym dokładnie jest analityka biznesowa.

Samouczek R: Co to jest analiza biznesowa?

Analityka biznesowa to proces badania dużych zbiorów danych i uzyskiwania ukrytych wzorców, korelacji i innych spostrzeżeń. Zasadniczo pomaga zrozumieć wszystkie zebrane dane, czy to dane organizacyjne, dane z badań rynku lub produktów, czy też inne rodzaje danych. Podejmowanie lepszych decyzji, lepszych produktów, lepszych strategii marketingowych itp. Staje się łatwe, itp. Zapoznaj się z poniższym obrazem, aby lepiej zrozumieć:

Jeśli spojrzysz na powyższy rysunek, Twoje dane na pierwszym obrazie są rozproszone. Teraz, jeśli chcesz czegoś konkretnego, takiego jak określony rekord w bazie danych, staje się to kłopotliwe. Aby to uprościć, potrzebujesz analizy. Dzięki analizie łatwo jest znaleźć korelację między danymi. Po ustaleniu, co należy zrobić, podjęcie decyzji, na przykład, którą ścieżką chcesz podążać lub w zakresie analityki biznesowej, która doprowadzi do ulepszenia Twojej organizacji, staje się dość łatwe.

Ale nie możesz oczekiwać, że ludzie z powyższego łańcucha zawsze rozumieją nieprzetworzone dane, które im udostępniasz po przeprowadzeniu analizy. Aby przezwyciężyć tę lukę, mamy koncepcję Wizualizacja danych .

Wizualizacja danych : Wizualizacja danych to wizualny dostęp do ogromnych ilości danych, które wygenerowałeś po przeprowadzeniu analizy. Umysł ludzki przetwarza obrazy, a grafika wizualna jest lepsza niż w porównaniu z surowymi danymi. Zawsze łatwo jest nam zrozumieć wykres kołowy lub słupkowy w porównaniu z surowymi liczbami. Teraz możesz się zastanawiać, w jaki sposób możesz osiągnąć taką wizualizację danych na podstawie danych, które już przeanalizowałeś?
Na rynku dostępne są różne narzędzia do wizualizacji danych:

Wszyscy pewnie się zastanawiacie, że jest już tak wiele narzędzi, które pomagają osiągnąć wizualizację danych i pewną ilość analiz, po co iść z R?

Mój następny temat na blogu z samouczkiem języka R dotyczy „dlaczego R” i „kto używa R”.

Samouczek dotyczący języka R: Dlaczego R i kto używa R?

Dlaczego R?

R to język programowania i statystyki.

R jest używany do analizy danych i wizualizacji.

R jest prosty i łatwy do nauczenia się, czytania i pisania.

R jest przykładem FLOSS (Free Libre i Open Source Software), w którym można swobodnie rozpowszechniać kopie tego oprogramowania, czytać jego kod źródłowy, modyfikować go itp.

Kto używa R?

  • Biuro Ochrony Konsumentów używa R do analizy danych
  • Statystycy w firmie John Deere używają R do modelowania szeregów czasowych i analiz geoprzestrzennych w niezawodny i odtwarzalny sposób.
  • Bank of America używa R do raportowania.
  • R jest częścią stosu technologii stojącego za słynnym silnikiem rekomendacji Foursquare.
  • ANZ, czwarty co do wielkości bank w Australii, wykorzystujący R do analizy ryzyka kredytowego.
  • Google używa R do przewidywania działalności gospodarczej.
  • Mozilla, fundacja odpowiedzialna za przeglądarkę internetową Firefox, używa języka R do wizualizacji aktywności w sieci.

Poniżej znajdują się niektóre domeny, w których używany jest R:

Teraz przejdźmy dalej w blogu samouczka języka R i zainstaluj R.

Samouczek R: Instalacja oprogramowania R

Pozwól, że przeprowadzę Cię przez proces instalacji języka R w Twoim systemie. Po prostu wykonaj poniższe czynności:

Krok 1 : Przejdź do linku- https://cran.r-project.org/

Krok 2 : Pobierz i zainstaluj R 3.3.3 w swoim systemie.

Zapoznaj się z poniższym zrzutem ekranu, aby uzyskać lepsze zrozumienie.

Wykonując powyższe kroki, zakończysz pracę z częścią instalacyjną R. Teraz możesz bezpośrednio rozpocząć kodowanie w R, pobierając RStudio IDE. Aby to pobrać, wykonaj poniższe czynności:

Krok 1 : Przejdź do łącza - https://www.rstudio.com/

Krok 2 : Pobierz i zainstaluj Rstudio w swoim systemie.

Po zainstalowaniu wszystkiego jesteś gotowy do kodowania!

Samouczek R dla początkujących | Samouczek programowania w języku R | Edureka

Następnie przejdźmy dalej w blogu samouczka języka R i poznajmy, czym są operatory danych w języku R.

Samouczek R: Operatory danych w języku R

Istnieje 5 różnych typów operatorów, które są wymienione poniżej:

  1. Operatory arytmetyczne : Wykonywanie operacji arytmetycznych, takich jak dodawanie, odejmowanie, mnożenie, dzielenie itp.
  2. Operatory przypisania :Do przypisywania wartości służą operatory przypisania. Na przykład:
  • Operator przypisania =
    Składnia:
    nazwa zmiennej = wartość
> x = 5 >x 
Wyjście: [1] 5
  • Operator przypisania<-
    Składnia:
    nazwa zmiennej<- value

    > x<- 15 > x
    Wyjście: [1] 15
  • Operator przypisania<<-
    Składnia:
    nazwa zmiennej<<- value
> x<<- 2 > x
Wyjście: [1] 2
  • Operator przypisania ->
    Składnia:
    wartość -> nazwa zmiennej

    > 25 -> x > x 
    Wyjście: [1] 25

3. Operator relacyjny : Definiuje relację między dwoma podmiotami. Na przykład: ,<=,!= etc.

> xx! = 2
Wynik:[1] PRAWDA

4. Operatory logiczne : Te operatory porównują dwie jednostki i są zwykle używane z wartościami logicznymi (logicznymi), takimi jak &, | i !.

> x2 i 3
Wynik:[1] PRAWDA

5. Operatory specjalne : Te operatory są używane w określonym celu, a nie do obliczeń logicznych. Na przykład:

  • Tworzy serię liczb w sekwencji dla wektora.

    > xx
    Wyjście: [1] 2 3 4 5 6 7 8
  • % w% Ten operator służy do identyfikacji, czy element należy do wektora.
    Przykład

    > xyy% w% x
    Wyjście: [1] TRUE

Samouczek R: Typy danych

Typy danych służą do przechowywania informacji. W R nie musimy deklarować zmiennej jako pewnego typu danych. Zmiennym przypisywane są obiekty R, a typ danych obiektu R staje się typem danych zmiennej.W R występuje głównie sześć typów danych:

Przejdźmy bardziej szczegółowo do każdego z nich:

Wektor : Wektor to sekwencja elementów danych tego samego podstawowego typu. Przykład:

vtr = (1, 3, 5, 7 9)

lub

vtr<- (1, 3, 5 ,7 9)

Istnieje 5 wektorów atomowych, określanych również jako pięć klas wektorów.

Lista : Listy są obiektami R, które zawierają elementy różnych typów, takie jak liczby & minus, łańcuchy, wektory i inna lista wewnątrz nich.

> n = c (2, 3, 5) > s = c („aa”, „bb”, „cc”, „dd”, „ee”) > x = lista (n, s, PRAWDA) > x

Wynik -

[[1]] [1] 2 3 5 [[2]] [1] 'aa' 'bb' 'cc' 'dd' 'ee' [[3]] [1] PRAWDA

Tablice : Tablice to obiekty danych R, które mogą przechowywać dane w więcej niż dwóch wymiarach. Pobiera wektory jako dane wejściowe i używa wartości parametru dim do utworzenia tablicy.

wektor 1<- c(5,9,3) wektor 2<- c(10,11,12,13,14,15) wynik<- array(c(vector1,vector2),dim = c(3,3,2))

Wynik -

,, 1 [, 1] [, 2] [, 3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15 ,, 2 [, 1] [, 2] [, 3 ] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15

Tablice : Macierze to obiekty R, w których elementy są rozmieszczone w dwuwymiarowym układzie prostokątnym. Matrix jest tworzony za pomocą funkcji matrix (). Przykład: macierz (dane, nrow, ncol, byrow, dimnames) gdzie,

dane jest wektorem wejściowym, który staje się elementami danych macierzy.

teraz to liczba wierszy do utworzenia.

ncol to liczba kolumn do utworzenia.

byrow to logiczna wskazówka. Jeśli PRAWDA, to elementy wektora wejściowego są uporządkowane według wierszy.

nazwa wym to nazwy przypisane do wierszy i kolumn.

> Mat<- matrix(c(1:16), nrow = 4, ncol = 4 ) > Mat
Wynik :
[, 1] [, 2] [, 3] [, 4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16

Czynniki : Czynniki to obiekty danych, które służą do kategoryzowania danych i przechowywania ich jako poziomów. Mogą przechowywać zarówno ciągi znaków, jak i liczby całkowite. Są przydatne w analizie danych do modelowania statystycznego.

> dane<- c('East','West','East','North','North','East','West','West“,'East“) > factor_data<- factor(data) > factor_data

Wynik :

[1] Wschód Zachód Wschód Północ Północ Wschód Zachód Zachód Wschód Poziomy: wschód północny zachód

Ramki danych : Ramka danych to tabela lub dwuwymiarowa struktura przypominająca tablicę, w której każda kolumna zawiera wartości jednej zmiennej, a każdy wiersz zawiera jeden zestaw wartości z każdej kolumny.

> std_id = c (1: 5) > std_name = c ('Rick', 'Dan', 'Michelle', 'Ryan', 'Gary') > znaki = c (623,3 515,2 611,0 729,0 843,25) > std.data<- data.frame(std_id, std_name, marks) > std.data

Wynik :

std_id std_name znaczniki 1 1 Rick 623.30 2 2 i 515.20 3 3 Michelle 611.00 4 4 Ryan 729,00 5 5 Gary 843,25

W ten sposób dochodzimy do końca różnych typów danych w R. Następnie przejdźmy dalej w blogu R Tutorial i zrozumiemy inną kluczową koncepcję - instrukcje kontroli przepływu.

Samouczek języka R: Instrukcje sterowania przepływem

Instrukcje sterowania przepływem odgrywają bardzo ważną rolę, ponieważ pozwalają kontrolować przepływ wykonywania skryptu wewnątrz funkcji. Na poniższej ilustracji przedstawiono najczęściej używane instrukcje kontroli przepływu:

Teraz omówmy każdy z nich z przykładami.

Samouczek języka R: Instrukcje selektora

  • Jeśli instrukcja kontroli : Ta instrukcja sterująca ocenia pojedynczy warunek. Jest to dość proste, ponieważ zawiera tylko jedno słowo kluczowe „if”, po którym następuje warunek, a następnie określony zestaw instrukcji, które muszą zostać wykonane, jeśli to prawda. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

W tym schemacie blokowym kod zareaguje w następujący sposób:

  1. Przede wszystkim wejdzie w pętlę, w której sprawdzi stan.
  2. Jeśli warunek jest spełniony, zostanie wykonany kod warunkowy lub napisane instrukcje.
  3. Jeśli warunek jest fałszywy, instrukcje są ignorowane.

Poniżej znajduje się przykład Jeśli instrukcja control w języku R. Spróbuj uruchomić ten przykład w R Studio.

x = 2 powtórz {x = x ^ 2 print (x) if (x> 100) {przerwa}

Wynik :

[1] 4 [1] 16 [1] 256
  • If Else Control Statement :Egzamins typ instrukcji sterującejocenia grupę warunków i wybiera instrukcje. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

W tym schemacie blokowym kod zareaguje w następujący sposób:

  1. Przede wszystkim wejdzie w pętlę, w której sprawdzi stan.
  2. Jeśli warunek jest prawdziwy, pierwsze instrukcje „if” zostaną wykonane.
  3. Jeśli warunek jest fałszywy, przechodzi do warunku „else if”, a jeśli jest prawdziwy, zostanie wykonany kod „else if”.
  4. Wreszcie, jeśli kod „else if” również jest fałszywy, przejdzie do kodu „else” i zostanie wykonany. Oznacza to, że jeśli żaden z tych warunków nie jest spełniony, instrukcja „else” zostanie wykonana.

Poniżej znajduje się przykład Jeśli inaczej instrukcja control w języku R. Spróbuj uruchomić ten przykład w R Studio.

x5) {print ('x jest większe niż 5')} elseif (x == 5) {print ('x jest równe 5')} else {print ('x nie jest większe niż 5')}

Wynik:

[1] „x równa się 5”
  • Instrukcje przełączania : Te instrukcje sterujące są zasadniczo używane do porównywania określonego wyrażenia ze znaną wartością. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

W tym schemacie blokowym przypadku przełącznika kod zareaguje w następujących krokach:

  1. Przede wszystkim wejdzie w obudowę przełącznika, która ma wyrażenie.
  2. Następnie przejdzie do warunku Przypadek 1, sprawdza wartość przekazaną do warunku. Jeśli to prawda, blok instrukcji zostanie wykonany. Następnie odłączy się od tej obudowy przełącznika.
  3. W przypadku, gdy jest fałszywa, przejdzie do następnego przypadku. Jeśli warunek przypadku 2 jest prawdziwy, wykona instrukcję i przerwie ten przypadek, w przeciwnym razie ponownie przeskoczy do następnego przypadku.
  4. Teraz powiedzmy, że nie określiłeś żadnego przypadku lub użytkownik wprowadził błędne dane, a następnie przejdzie do przypadku domyślnego, w którym wydrukuje domyślną instrukcję.

Poniżej znajduje się przykład instrukcji switch w języku R. Spróbuj uruchomić ten przykład w R Studio.

vtr<- c(150,200,250,300,350,400) option <-'mean' switch(option, 'mean' = print(mean(vtr)), 'mode' = print(mode((vtr))), 'median' = print(median((vtr))) ) 

Wynik :

[1] 275

Samouczek języka R: Instrukcje pętli

Pętle pomagają w powtarzaniu określonego zestawu czynności, dzięki czemu nie trzeba ich powtarzać. Wyobraź sobie, że musisz wykonać operację 10 razy, jeśli zaczniesz pisać kod za każdym razem, długość programu wzrośnie i będzie ci trudno to zrozumieć później. Ale jednocześnie używając pętli, jeśli napiszę tę samą instrukcję wewnątrz pętli, oszczędza to czas i ułatwia czytelność kodu. Jest również bardziej zoptymalizowany pod względem wydajności kodu.

Na powyższym obrazku „ powtarzać' i ' podczas „Instrukcje pomagają wykonać określony zestaw reguł, dopóki warunek nie będzie spełniony, ale” dla' to instrukcja pętli używana, gdy wiesz, ile razy chcesz powtórzyć blok instrukcji. Teraz, jeśli wiesz, że chcesz powtórzyć to 10 razy, pójdziesz z instrukcją `` for '', ale jeśli nie jesteś pewien, ile razy chcesz powtórzyć kod, przejdziesz z `` powtórz '' lub pętla „while”.

Omówmy każdy z nich z przykładami.

  • Powtarzać : Pętla powtarzania pomaga wielokrotnie wykonywać ten sam zestaw kodu, aż do spełnienia warunku zatrzymania. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

Na powyższym schemacie blokowym kod zareaguje w następujących krokach:

  1. Przede wszystkim wprowadzi i wykona zestaw kodu.
  2. Następnie sprawdzi warunek, jeśli jest prawdziwy, wróci i ponownie wykona ten sam zestaw kodu, aż ma być fałszywy.
  3. Jeśli okaże się, że jest fałszywa, bezpośrednio opuści pętlę.
  • Podczas : Instrukcja while pomaga również w wielokrotnym wykonywaniu tego samego zestawu kodu, dopóki nie zostanie spełniony warunek zatrzymania. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

Na powyższym schemacie blokowym kod zareaguje w następujących krokach:

  1. Przede wszystkim sprawdzi stan.
  2. Jeśli okaże się, że jest prawdą, wykona zestaw kodu.
  3. Następnie ponownie sprawdza warunek, jeśli jest prawdziwy, ponownie wykona ten sam kod. Gdy tylko okaże się, że warunek jest fałszywy, natychmiast wychodzi z pętli.

Poniżej znajduje się przykład instrukcji while w języku R. Spróbuj uruchomić ten przykład w R Studio.

x = 2, podczas gdy (x<1000) { x=x^2 print(x) } 

Wynik:

4 16 256 65 536

Więc pewnie się zastanawiasz, czym różnią się te dwa stwierdzenia? Pozwól mi wyjaśnić twoje wątpliwości!
Tutaj główna różnica między stwierdzeniem powtórzyć a podczas gdy jest taka, że ​​zmienia się w zależności od twojego stanu. Podczas loop zasadniczo definiuje, kiedy zamierzasz wejść do pętli, aby wykonać instrukcje i powtarzać pętla określa moment wyjścia z pętli po wykonaniu instrukcji. Więc te dwie instrukcje są znane jako pętla kontroli wejścia i pętla kontroli wyjścia. W ten sposób stwierdzenia while i powtórz są różne.

  • Dla pętli: Pętle For są używane, gdy trzeba kilka razy wykonać blok kodu. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

Na powyższym schemacie blokowym kod zareaguje w następujących krokach:

  1. Przede wszystkim jest inicjalizacja, w której określasz, ile razy chcesz powtórzyć pętlę.
  2. Następnie sprawdza stan. Jeśli warunek jest spełniony, program wykona zestaw kodu określoną liczbę razy.
  3. Gdy tylko okaże się, że warunek jest fałszywy, natychmiast wychodzi z pętli.

Poniżej znajduje się przykład instrukcji for w języku R. Spróbuj uruchomić ten przykład w R Studio.

vtr<- c(7,19,25,65, 45) for( i in vtr) { print(i) } 

Wynik :

7 19 25 65 45

Następnie przejdźmy do naszego ostatniego zestawu instrukcji na blogu R Tutorial, czyli instrukcji skoku.

Samouczek języka R: instrukcje skoku

Instrukcja Break : Instrukcje Break pomagają zakończyć program i wznawiają sterowanie do następnej instrukcji następującej po pętli. Te instrukcje są również używane w przypadku przełącznika. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

znajdź najwyższą wartość w tablicy java

Na powyższym schemacie blokowym kod zareaguje w następujących krokach:

  1. Przede wszystkim wejdzie w pętlę, w której sprawdzi stan.
  2. Jeśli warunek pętli jest fałszywy, bezpośrednio wychodzi z pętli.
  3. Jeśli warunek jest prawdziwy, sprawdzi warunek przerwania.
  4. Jeśli warunek przerwania jest prawdziwy, istnieje z pętli.
  5. Jeśli warunek przerwania jest fałszywy, wykona instrukcje, które pozostają w pętli, a następnie powtórzy te same kroki.

Poniżej znajduje się przykład instrukcji skoku w języku R. Spróbuj uruchomić ten przykład w R Studio.

x<- 1:5 for (val in x) { if (val == 3){ break } print(val) } 

Wynik:

[1] 1 [1] 2

Następna instrukcja : Następna instrukcja jest używana, gdy chcesz pominąć bieżącą iterację pętli bez jej przerywania. Następna instrukcja jest dość podobna do „kontynuuj” w innym języku programowania. Zapoznaj się z poniższym schematem blokowym, aby uzyskać lepsze zrozumienie:

Na powyższym schemacie blokowym kod zareaguje w następujących krokach:

  1. Przede wszystkim wejdzie w pętlę, w której sprawdzi stan.

  2. Jeśli warunek pętli jest fałszywy, bezpośrednio wychodzi z pętli.

  3. Jeśli warunek pętli jest prawdziwy, wykona on instrukcje bloku 1.

  4. Następnie sprawdzi „następny” komunikat. Jeśli jest obecny, to następne instrukcje nie będą wykonywane w tej samej iteracji pętli.

  5. Jeśli nie ma instrukcji „next”, zostaną wykonane wszystkie następne instrukcje.

Poniżej znajduje się przykład następnej instrukcji w języku R. Spróbuj uruchomić ten przykład w R Studio.

for (i in 1:15) {if ((i %% 2) == 0) {next} print (i)}

Wynik :

1 3 5 7 9 11 13 15

To jest koniec blogu z samouczkiem R. Mam nadzieję, że macie jasność co do każdej koncepcji, którą omówiłem powyżej. Bądź na bieżąco, mój następny blog będzie poświęcony szkoleniu R, gdzie szczegółowo wyjaśnię więcej koncepcji języka R z exobszerny.

Teraz, gdy znasz już podstawy języka R, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka z zakresu analizy danych i języka R pomoże Ci zdobyć wiedzę w zakresie programowania R, manipulacji danymi, eksploracyjnej analizy danych, wizualizacji danych, eksploracji danych, regresji, analizy nastrojów oraz wykorzystania R Studio do analizy przypadków w handlu detalicznym i mediach społecznościowych.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu „R Tutorial”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.