Р Програмирање - Водич за почетнике за Р Програмски језик

Овај блог о Р програмирању вас упознаје са Р и помаже вам да детаљно разумете различите темељне концепте Р програмирања са примерима.

Р је један од најпопуларнијих аналитичких алата. Али, осим што се користи за аналитику, Р је и програмски језик.Његовим растом у ИТ индустрији постоји нарасла потражња за квалификованим или са разумевањем Р-а као алата за аналитику података и програмског језика.На овом блогу ћу вам помоћи да разумете различите основе програмирања Р. У нашем стр превидни Блог ,разговарали смо зашто нам је потребна аналитика, шта је пословна аналитика, зашто и ко користи Р.

На овом блогу ћемо разумети доле наведене основне концепте Р програмирања у следећем низу:





  1. Променљиве
  2. Типови података
  3. Оператери података
  4. Условна изјава
  5. Лоопс
  6. Функције

Можете проћи кроз снимање вебинара Р програмског језика где је наш инструктор детаљно објаснио теме са примерима који ће вам помоћи да боље разумете Р програмирање.

Р Програмирање за почетнике | Р Водич за програмски језик | Едурека



Кренимо напред и погледајмо први концепт програмирања Р - променљиве.

Р Програмирање: Променљиве

Променљиве нису ништа друго до назив меморијске локације која садржи вредност. Променљива у Р може да складишти нумеричке вредности, сложене вредности, речи, матрице, па чак и табелу. Изненађујуће, зар не?

Варијабла - Р програмирање - Едурека

Шипак: Стварањепроменљивих



Горња слика показује нам како се креирају променљиве и како се чувају у различитим меморијским блоковима. У Р, не морамо да декларишемо променљиву пре него што је користимо, за разлику од других програмских језика као што су Јава, Ц, Ц ++ итд.

Кренимо напред и покушајмо да разумемо шта је тип података и који су различити типови података подржани у Р.

Р Програмирање: Типови података

У Р, сама променљива није декларисана ни за један тип података, већ добија тип података Р објекта који јој је додељен. Дакле, Р се назива динамички куцани језик, што значи да можемо увек и изнова да мењамо тип података исте променљиве када га користимо у програму.

Типови података одређују који тип вредности променљива има и који тип математичких, релационих или логичких операција може да се примени на њу без изазивања грешке. Постоји много типова података у Р, међутим, испод су најчешће коришћени:

Размотримо сада сваки од ових типова података појединачно, почевши од Вектора.

Вектори

Вектори су најосновнији Р објекти података и постоји шест врста атомских вектора. Испод је шест атомских вектора:

Логичан : Користи се за чување логичке вредности попут ИСТИНА или ФАЛСЕ .

Нумерички : Користи се за чување и позитивних и негативних бројева, укључујући стварни број.

Нпр .: 25, 7.1145, 96547

Цео број : Садржи све целобројне вредности, тј. Све позитивне и негативне целине.

Нпр .: 45.479, -856.479, 0

Комплекс : То су облика к + ии, где су к и и нумерички, а и представља квадратни корен од -1.

Нпр .: 4 + 3и

Карактер : Користи се за чување појединачног знака, групе знакова (речи) или групе речи заједно. Знакови се могу дефинисати у појединачним или двоструким наводницима.

Нпр: 'Едурека', 'Р је забавно учити'.

Генерално, вектор се дефинише и иницијализује на следећи начин:

Втр = ц (2, 5, 11, 24) Или Втр<- c(2, 5, 11 , 24)

Кренимо напред и разумемо друге типове података у Р.

Листа

Листе су прилично сличне векторима, али Листе су Р објекти који могу садржати елементе различитих врста као што су & минус бројеви, низови, вектори и друга листа унутар њих.

На пример:

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

Излаз:

[[1]] [1] 'Здраво' 'Здраво' 'Како да ли радите '[[2]] [1] 22,5 [[3]] [1] 14965 [[4]] [1] ИСТИНА

Матрик

Матрица је Р објекат у коме су елементи распоређени у дводимензионални правоугаони распоред.

Основна синтакса за стварање матрице у Р је & минус

 матрица (подаци, нров, нцол, биров, димнамес) 

Где:

  • подаци је улазни вектор који постаје елемент података матрице.
  • нров је број редова који се креирају.
  • нцол је број колона које треба створити.
  • биров је логичан траг. Ако је ИСТИНА, тада су улазни векторски елементи поређани по редовима.
  • димнаме је имена додељена редовима и колонама.

Пример:

Миматрик<- matrix(c(1:25), nrow = 5, ncol = 5, byrow = TRUE) Mymatrix 

Излаз:

[, 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

АРРАИ

Низови у Р су објекти података који се могу користити за чување података у више од две димензије. Као улаз узима векторе и користи вредности у не параметар за стварање низа.

Основна синтакса за стварање низа у Р је & минус

 низ (подаци, затамњени, затамњени називи) 

Где:

  • подаци је улазни вектор који постаје елемент података низа.
  • не је димензија низа, где прослеђујете број редова, ступаца и број матрица које треба створити према поменутим димензијама.
  • димнаме је имена додељена редовима и колонама.

Пример:

Миарраи<- array( c(1:16), dim=(4,4,2)) Myarray 

Излаз:

, , један [, 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

Оквир података

Оквир података је табела или дводимензионална структура налик низу у којој свака колона садржи вредности једне променљиве, а сваки ред један скуп вредностизасвака колона. Испод су неке од карактеристика оквира података које треба узети у обзир сваки пут када радимо са њима:

  • Имена колона не смеју бити празна.
  • Свака колона треба да садржи исту количину података.
  • Подаци ускладиштени у оквиру података могу бити нумеричког, фактора или типа знакова.
  • Имена редова треба да буду јединствена.

Пример:

емп_ид = ц (100: 104) емп_наме = ц ('Јохн', 'Хенри', 'Адам', 'Рон', 'Гари') депт = ц ('Салес', 'Финанце', 'Маркетинг', 'ХР ',' Истраживање и развој ') емп.дата<- data.frame(emp_id, emp_name, dept) emp.data 

Излаз:

како се користи класа скенера
емп_ид емп_наме депт 1 100 Јохн Салес 2 101 Хенри Финанце 3 102 Адам Маркетинг 4 103 Рон ХР 5 104 Гери Истраживање и развој

Дакле, сада када смо разумели основне типове података Р, време је да дубоко заронимо у Р разумевањем концепата Оператора података.

Р Програмирање: Оператери података

У Р постоје углавном 4 оператора података, као што је приказано у наставку:

Аритметички оператори : Ови оператери помажу нам у извршавању основних аритметичких операција као што су сабирање, одузимање, множење итд.

.трим () јава

Размотрите следећи пример:

нум1 = 15 нум2 = 20 нум3 = 0 #аддитион нум3 = нум1 + нум2 нум3 #субстрацтион нум3 = нум1 - нум2 нум3 #мултиплицатион нум3 = нум1 * нум2 нум3 #дивисион нум3 = нум1 / нум2 нум3 #модулус нум3 = нум1 %% нум2 нум3 #екпонент нум1 = 5 нум2 = 3 нум3 = нум1 ^ нум2 нум3 # подела пода нум3 = нум1% /% нум2 нум3

Излаз:

[1] 35 [петнаест [1] 300 [1] 0,75 [1] 15 [1] 125 [Једанаест

Релациони оператори : Ови оператери помажу нам у извођењу релационих операција попут провере да ли је променљива већа, мања или једнака другој променљивој. Излаз релационе операције је увек логичка вредност.

Размотрите следеће примере:

нум1 = 15 нум2 = 20 # једнак је нум3 = (нум1 == нум2) нум3 # није једнако нум3 = (нум1! = нум2) нум3 #мањи од нум3 = (нум1 нум2) нум3 # осим што је једнак нум1 = 5 нум2 = 20 нум3 = (нум1 = нум2) нум3

Излаз:

[1] ФАЛСЕ [1] ИСТИНА [1] ИСТИНА [1] ФАЛСЕ [1] ИСТИНА [1] ФАЛСЕ

Оператори доделе: Ови оператори се користе за додељивање вредности променљивим у Р. Додељивање се може извршити помоћу било ког оператора додељивања(<-) или је једнак оператору (=). Вредност променљиве може се доделити на два начина, левим и десним додељивањем.

ЛогичанОператери: Ови оператори упоређују два ентитета и обично се користе са логичким (логичким) вредностима као што су „и“, „или“и'не'.


Програмирање Р: Условне изјаве

  1. Иф Статемент: Израз Иф вам помаже у процени једног израза као дела тока. Да бисте извршили ову процену, потребно је само да напишете кључну реч Иф иза које следи израз који ће се процењивати. Дијаграм тока у наставку даће идеју о томе како наредба Иф контролише ток кода: Размотрите следећи пример:
нум1 = 10 нум2 = 20 иф (нум1<=num2){ print('Num1 is less or equal to Num2') 

Излаз:

[1] 'Нум1 је мањи или једнак Нум2'
  • Елсе Иф Статемент: Изјава Елсе иф вам помаже у проширивању грана на ток створен наредбом Иф и пружа вам прилику да процените више услова стварањем нових грана тока. Следећи ток ће вам дати идеју о томе како наредба елсе иф грани ток кода:

    Размотрите следећи пример:

    Нум1 = 5 Нум2 = 20 иф (Нум1 Нум2) {принт ('Нум2 је мањи од Нум1')} елсе иф ('Нум1 == Нум2) {принт (' Нум1 и Нум2 су једнаки ')}

    Излаз:

    [1] 'Нум1 је мањи од Нум2'

  • Елсе Статемент: Наредба елсе користи се када су сви остали изрази означени и неважећи. Ово ће бити последња изјава која се извршава као део гране Иф - Елсе иф. Испод протока ћете добити бољу идеју о томе како Елсе мења ток кода:

Размотрите следећи пример:

Нум1 = 5 Нум2 = 20 ако је (Нум1 Нум2) {принт ('Нум2 је мањи од Нум1')} елсе принт ('Нум1 и Нум2 су једнаки')}

Излаз:

[1] 'Нум1 и Нум2 су једнаки'

Р Програмирање: Лоопс

Извод петље омогућава нам извршавање израза или групе израза више пута. У Р постоје углавном 3 врсте петљи:

  1. поновите Лооп : Понавља изјаву или групу изјава док је задати услов ИСТИНА. Петља понављања је најбољи пример излазно контролисане петље у којој се код прво извршава, а затим се проверава услов да би се утврдило да ли би контрола требала бити унутар петље или изаћи из ње. Испод је ток контроле у ​​понављајућој петљи:
    Погледајмо пример доле да бисмо разумели како помоћу понављања петље можемо да додамо н бројева док збир не пређе 100:

    к = 2 поновити {к = к ^ 2 принт (к) иф (к> 100) {бреак}

    Излаз:

    [1] 4 [1] 16 [1] 256
  2. док Лооп : Јат помаже понављању исказа или групе изјава док је дати услов ИСТИНА. Док је петља, у поређењу са понављањем, мало другачија, то је пример петље контролисане уносом у којој се прво проверава услов и само ако се утврди да је услов истинит, контрола се испоручује унутар петље за извршавање кода . Испод је ток контроле у ​​вхиле петљи:
    Погледајмо пример у наставку да бисмо додали збир квадрата за првих 10 бројева и разумели како вхиле петља боље функционише:

    нум = 1 сумн = 0 вхиле (нум<=11){ sumn =(sumn+ (num^2) num = num+1 print(sumn) } 


    Излаз:

    [Једанаест [петнаест [1] 14 [1] 30 [1] 55 [1] 91 [1] 140 [1] 204 [1] 285 [1] 385 [1] 506
  3. за Лооп : Користи се за понављање изјаве или групе од одређени број пута. За разлику од репеат и вхиле петље, фор петља се користи у ситуацијама када смо свесни колико је пута потребно претходно извршити код. Слично је петљи вхиле у којој се прво проверава стање, а затим извршава само код написан унутра. Погледајмо сада ток контроле фор петље:

Погледајмо сада пример где ћемо петљу фор користити за испис првих 10 бројева:

за (к у 1:10) {принт (к)}

Излаз:

[Једанаест [1] 2 [1] 3 [1] 4 [петнаест [1] 6 [1] 7 [1] 8 [1] 9 [1] 10

Р Програмирање: функције

Функција је блок организованог кода за вишекратну употребу који се користи за извођење једне повезане радње. У Р постоје углавном две врсте функција:

Унапред дефинисане функције : То су уграђене функције које корисник може користити за обављање свог посла еасиер. Нпр: меан( Икс) , сум( Икс) , скрт ( Икс ), тоуппер( Икс ) итд.

Кориснички дефинисано Функције: Ове функције креира корисник како би задовољиле одређене захтеве корисника. Испод је синтакса за креирање функције уР:

 фунц  тион_наме  <– функцију (арг_1, арг_2 и & хеллип){ // Тело функције }

Размотрите следећи пример једноставне функције за генерисање збира квадратаод2 броја:

сум_оф_скуаре<- function(x,y) { x^2 + y^2 } sum_of_sqares(3,4) 
Излаз: [1] 25

Надам се да сте уживали читајући овај Р програмски блог. У овом упутству смо обухватили све основе Р-а, тако да сада можете почети да вежбате. После овог блога за програмирање Р, осмислићу још блогова на Р за Аналитику, па будите са нама.

Сад кад сте разумели основе Р, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекина аналитика података са Р обуком ће вам помоћи да стекнете стручност у Р програмирању, манипулацији подацима, истраживачкој анализи података, визуелизацији података, рударству података, регресији, анализи сентимента и коришћењу РСтудио за студије стварног живота у малопродаји, друштвеним медијима.

Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог блога „Р Програмирање“ и јавићемо вам се што је пре могуће.