Programowanie w języku R - przewodnik dla początkujących po języku programowania R.



Ten blog poświęcony programowaniu w języku R wprowadza do języka R i pomaga szczegółowo zrozumieć różne podstawowe koncepcje programowania w języku R wraz z przykładami.

R to jedno z najpopularniejszych narzędzi analitycznych. Ale oprócz tego, że jest używany do analizy, R jest również językiem programowania.Wraz z rozwojem branży IT rośnie zapotrzebowanie na wykwalifikowanych lub ze zrozumieniem R jako narzędzia do analizy danych i języka programowania.Na tym blogu pomogę Ci zrozumieć różne podstawy programowania w języku R. W naszym p czcigodny Blog ,omówiliśmy: Dlaczego potrzebujemy Analytics, Co to jest analityka biznesowa, dlaczego i kto używa R.

W tym blogu zrozumiemy poniższe podstawowe koncepcje programowania w języku R w następującej kolejności:





  1. Zmienne
  2. Typy danych
  3. Operatorzy danych
  4. Instrukcja warunkowa
  5. Pętle
  6. Funkcje

Możesz przejść przez nagranie webinarium dotyczącego języka programowania R, w którym nasz instruktor szczegółowo wyjaśnił tematy z przykładami, które pomogą Ci lepiej zrozumieć programowanie R.

Programowanie R dla początkujących | Samouczek języka programowania R | Edureka



Przejdźmy więc do przodu i przyjrzyjmy się pierwszej koncepcji programowania języka R - zmienne.

Programowanie R: zmienne

Zmienne to nic innego jak nazwa lokalizacji pamięci zawierającej wartość. Zmienna w R może przechowywać wartości liczbowe, wartości złożone, słowa, macierze, a nawet tabelę. Zaskakujące, prawda?

Zmienna - Programowanie R - Edureka

Figa: kreacjazmiennych



Powyższy obraz pokazuje nam, jak tworzone są zmienne i jak są one przechowywane w różnych blokach pamięci. W R nie musimy deklarować zmiennej przed jej użyciem, w przeciwieństwie do innych języków programowania, takich jak Java, C, C ++ itp.

Przejdźmy dalej i spróbujmy zrozumieć, czym jest typ danych i różne typy danych obsługiwane w języku R.

Programowanie R: typy danych

W języku R sama zmienna nie jest zadeklarowana dla żadnego typu danych, a raczej pobiera typ danych przypisanego do niej obiektu R. Tak więc R nazywany jest językiem z typami dynamicznymi, co oznacza, że ​​możemy wielokrotnie zmieniać typ danych tej samej zmiennej, gdy używamy jej w programie.

Typy danych określają, jaki typ wartości ma zmienna i jakiego rodzaju operacje matematyczne, relacyjne lub logiczne można do niej zastosować bez powodowania błędu. W języku R jest wiele typów danych, jednak poniżej są najczęściej używane:

Omówmy teraz każdy z tych typów danych indywidualnie, zaczynając od wektorów.

Wektory

Wektory to najbardziej podstawowe obiekty danych R i istnieje sześć typów wektorów atomowych. Poniżej znajduje się sześć wektorów atomowych:

Logiczny : Służy do przechowywania wartości logicznej, np PRAWDZIWE lub FAŁSZYWY .

Numeryczne : Służy do przechowywania liczb dodatnich i ujemnych, w tym liczby rzeczywistej.

Np .: 25, 7.1145, 96547

Liczba całkowita : Zawiera wszystkie wartości całkowite, tj. Wszystkie dodatnie i ujemne liczby całkowite.

Np .: 45.479, -856.479, 0

Złożony : Mają postać x + yi, gdzie x i y są liczbami, a i reprezentuje pierwiastek kwadratowy z -1.

Np .: 4 + 3i

Postać : Służy do przechowywania pojedynczego znaku, grupy znaków (słów) lub grupy słów. Znaki mogą być zdefiniowane w pojedynczych lub podwójnych cudzysłowach.

różnice między hashmap i hashtable
Np .: „Edureka”, „R to frajda do nauki”.

Ogólnie wektor jest definiowany i inicjowany w następujący sposób:

Vtr = c (2, 5, 11, 24) Lub Vtr<- c(2, 5, 11 , 24)

Przejdźmy dalej i zrozummy inne typy danych w R.

Lista

Listy są dość podobne do wektorów, ale Listy są obiektami R, które mogą zawierać elementy różnych typów, takie jak liczby & minus, łańcuchy, wektory i inną listę wewnątrz siebie.

Na przykład:

Vtr<- c('Hello', 'Hi','How are you doing') mylist <- list(Vtr, 22.5, 14965, TRUE) mylist 

Wynik:

[[1]] [1] 'Cześć' 'Cześć' 'Jak robisz ”[[2]] [1] 22,5 [[3]] [1] 14965 [[4]] [1] PRAWDA

Matryca

Matryca to obiekt R, w którym elementy są rozmieszczone w dwuwymiarowym układzie prostokątnym.

Podstawowa składnia tworzenia macierzy w R to & minus

 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.

Przykład:

Mymatrix<- matrix(c(1:25), nrow = 5, ncol = 5, byrow = TRUE) Mymatrix 

Wynik:

[, 1] [, 2] [, 3] [, 4] [, 5] [1,] 1 2 3 4 5 [2,] 6 7 8 9 10 [3,] 11 12 13 14 15 [4, ] 16 17 18 19 20 [5,] 21 22 23 24 25

SZYK

Tablice w języku R to obiekty danych, których można używać do przechowywania danych w więcej niż dwóch wymiarach. Pobiera wektory jako dane wejściowe i używa wartości w Nie parametr, aby utworzyć tablicę.

Podstawowa składnia tworzenia tablicy w R to & minus

 tablica (dane, dimnames, dimnames) 

Gdzie:

  • dane jest wektorem wejściowym, który staje się elementami danych tablicy.
  • Nie jest wymiarem tablicy, gdzie podajesz liczbę wierszy, kolumn i liczbę macierzy, które mają być utworzone przez wspomniane wymiary.
  • nazwa wym to nazwy przypisane do wierszy i kolumn.

Przykład:

Myarray<- array( c(1:16), dim=(4,4,2)) Myarray 

Wynik:

,, jeden [, 1] [, 2] [, 3] [, 4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16 ,, 2 [, 1] [, 2] [, 3] [, 4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16

Ramka 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ścidlakażda kolumna. Poniżej znajdują się niektóre cechy ramki danych, które należy brać pod uwagę za każdym razem, gdy z nimi pracujemy:

  • Nazwy kolumn nie mogą być puste.
  • Każda kolumna powinna zawierać taką samą ilość elementów danych.
  • Dane przechowywane w ramce danych mogą mieć postać liczbową, czynnikową lub znakową.
  • Nazwy wierszy powinny być unikalne.

Przykład:

emp_id = c (100: 104) emp_name = c ('John', 'Henry', 'Adam', 'Ron', 'Gary') dept = c ('Sales', 'Finance', 'Marketing', 'HR ”,„ B + R ”) emp. Dane<- data.frame(emp_id, emp_name, dept) emp.data 

Wynik:

emp_id emp_name dział 1 100 John Sales 2 101 Henry Finance 3 102 Adam Marketing 4 103 Ron HR 5 104 Gary R & D

Więc teraz, gdy zrozumieliśmy podstawowe typy danych języka R, nadszedł czas, aby zagłębić się w język R poprzez zrozumienie pojęć operatorów danych.

Programowanie R: operatorzy danych

W R są głównie 4 operatory danych, jak widać poniżej:

Operatory arytmetyczne : Te operatory pomagają nam wykonywać podstawowe operacje arytmetyczne, takie jak dodawanie, odejmowanie, mnożenie itp.

Rozważmy następujący przykład:

num1 = 15 num2 = 20 num3 = 0 # addycja num3 = num1 + num2 num3 #substraction num3 = num1 - num2 num3 #multiplication num3 = num1 * num2 num3 #division num3 = num1 / num2 num3 #modulus num3 = num1 %% num2 num3 #exponent num1 = 5 num2 = 3 num3 = num1 ^ num2 num3 # Podział piętra num3 = num1% /% num2 num3

Wynik:

[1] 35 [piętnaście [1] 300 [1] 0,75 [1] 15 [1] 125 [jedenaście

Operatorzy relacyjni : Te operatory pomagają nam wykonywać operacje relacyjne, takie jak sprawdzanie, czy zmienna jest większa, mniejsza lub równa innej zmiennej. Wynik operacji relacyjnej jest zawsze wartością logiczną.

Rozważ następujące przykłady:

num1 = 15 num2 = 20 #equals to num3 = (num1 == num2) num3 #not równe num3 = (num1! = num2) num3 #lesser than num3 = (num1 num2) num3 # mniej niż równe num1 = 5 num2 = 20 num3 = (num1 = num2) num3

Wynik:

[1] FAŁSZ [1] PRAWDA [1] PRAWDA [1] FAŁSZ [1] PRAWDA [1] FAŁSZ

Operatory przypisania: Operatory te służą do przypisywania wartości do zmiennych w języku R. Przypisanie można wykonać za pomocą operatora przypisania(<-) lub operator równości (=). Wartość zmiennej można przypisać na dwa sposoby, przypisanie do lewej i przypisanie do prawej.

LogicznyOperatorzy: Te operatory porównują dwie jednostki i są zwykle używane z wartościami logicznymi (logicznymi), takimi jak „i”, „lub”i'nie'.


Programowanie w języku R: instrukcje warunkowe

  1. Jeśli instrukcja: Instrukcja If pomaga w ocenie pojedynczego wyrażenia jako części przepływu. Aby wykonać tę ocenę, wystarczy napisać słowo kluczowe If, ​​a po nim wyrażenie, które ma zostać ocenione. Poniższy diagram przepływu daje wyobrażenie o tym, jak instrukcja If steruje przepływem kodu: Rozważmy następujący przykład:
num1 = 10 num2 = 20 if (num1<=num2){ print('Num1 is less or equal to Num2') 

Wynik:

[1] „Num1 jest mniejsze lub równe Num2”
  • Instrukcja Else If: Instrukcja Else if pomaga w rozszerzaniu gałęzi na przepływ utworzony przez instrukcję If i daje możliwość oceny wielu warunków poprzez tworzenie nowych gałęzi przepływu. Poniższy schemat ilustruje, w jaki sposób instrukcja else if rozgałęzia przepływ kodu:

    Rozważmy następujący przykład:

    Num1 = 5 Num2 = 20 if (Num1 Num2) {print ('Num2 jest mniejsze niż Num1')} else if ('Num1 == Num2) {print (' Num1 i Num2 są równe ')}

    Wynik:

    [1] „Num1 jest mniejsze niż Num2”

  • Instrukcja Else: Instrukcja else jest używana, gdy wszystkie inne wyrażenia zostaną sprawdzone i uznane za nieprawidłowe. Będzie to ostatnia instrukcja, która zostanie wykonana jako część gałęzi If - Else if. Poniższy schemat daje lepsze wyobrażenie o tym, jak Else zmienia przepływ kodu:

Rozważmy następujący przykład:

Num1 = 5 Num2 = 20 if (Num1 Num2) {print ('Num2 jest mniejsze niż Num1')} else print ('Num1 i Num2 są równe')}

Wynik:

[1] „Num1 i Num2 są równe”

Programowanie R: pętle

Instrukcja pętli umożliwia wielokrotne wykonanie instrukcji lub grupy instrukcji. W R występują głównie 3 rodzaje pętli:

  1. powtórz pętlę : Powtarza instrukcję lub grupę instrukcji, gdy dany warunek jest PRAWDZIWY. Pętla powtarzania jest najlepszym przykładem pętli sterowanej przez wyjście, w której kod jest najpierw wykonywany, a następnie sprawdzany jest warunek, aby określić, czy element sterujący powinien znajdować się wewnątrz pętli, czy też z niej wyjść. Poniżej przedstawiono przepływ sterowania w pętli powtarzania:
    Spójrzmy na poniższy przykład, aby zrozumieć, jak możemy użyć pętli powtarzania, aby dodać n liczb, aż suma przekroczy 100:

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

    Wynik:

    [1] 4 [1] 16 [1] 256
  2. while Loop : jat pomaga powtórzyć instrukcję lub grupę instrukcji, gdy dany warunek jest PRAWDZIWY. Podczas gdy pętla, w porównaniu z pętlą powtarzania, jest nieco inna, jest przykładem pętli kontrolowanej przez wejście, w której warunek jest najpierw sprawdzany i tylko wtedy, gdy warunek zostanie uznany za prawdziwy, kontrola jest dostarczana wewnątrz pętli w celu wykonania kodu . Poniżej znajduje się przepływ sterowania w pętli while:
    Spójrzmy na poniższy przykład, aby dodać sumę kwadratów dla pierwszych 10 liczb i zrozumieć, jak lepiej działa pętla while:

    num = 1 sumn = 0 while (num<=11){ sumn =(sumn+ (num^2) num = num+1 print(sumn) } 


    Wynik:

    [jedenaście [piętnaście [1] 14 [1] 30 [1] 55 [1] 91 [1] 140 [1] 204 [1] 285 [1] 385 [1] 506
  3. dla pętli : Służy do powtarzania instrukcji lub grupy przez określoną liczbę razy. W przeciwieństwie do pętli powtarzania i podczas gdy pętla for jest używana w sytuacjach, w których wiemy, ile razy kod musi zostać wykonany wcześniej. Jest to podobne do pętli while, w której warunek jest najpierw sprawdzany, a następnie wykonywany jest tylko kod zapisany w środku. Zobaczmy teraz przepływ sterowania pętlą for:

Spójrzmy teraz na przykład, w którym będziemy używać pętli for do wydrukowania pierwszych 10 liczb:

for (x in 1:10) {print (x)}

Wynik:

[jedenaście [1] 2 [1] 3 [1] 4 [piętnaście [1] 6 [1] 7 [1] 8 [1] 9 [1] 10

Programowanie R: funkcje

Funkcja to blok zorganizowanego kodu wielokrotnego użytku, który służy do wykonywania jednej, powiązanej czynności. W języku R występują głównie dwa typy funkcji:

goto w języku c ++

Predefiniowane funkcje : Są to wbudowane funkcje, które użytkownik może wykorzystać do wykonania swojej pracy łatwer. Np .: mean( x) , sum( x) , sqrt ( x ), toupper( x ) itp.

Określony przez użytkownika Funkcje: Funkcje te są tworzone przez użytkownika w celu spełnienia określonych wymagań użytkownika. Poniżej znajduje się składnia tworzenia funkcji w programieR:

 func  nazwa_jonu  <– funkcjonować (arg_1, arg_2 i hellip){ // Treść funkcji }

Rozważmy następujący przykład prostej funkcji do generowania sumy kwadratówz2 numery:

sum_of_square<- function(x,y) { x^2 + y^2 } sum_of_sqares(3,4) 
Wyjście: [1] 25

Mam nadzieję, że blog poświęcony programowaniu w języku R. Ci się podobał. W tym samouczku omówiliśmy wszystkie podstawy języka R, więc możesz zacząć ćwiczyć już teraz. Po tym blogu poświęconym programowaniu w języku R będę wymyślał więcej blogów na temat R for Analytics, więc bądź na bieżąco.

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 i używania RStudio 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 „Programowanie w języku R”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.