R Programozási nyelv magyarázata

Az R egy nyílt forráskódú programozási nyelv és szoftverkörnyezet a statisztikai számításokhoz és grafikákhoz. Ez az egyik elsődleges nyelv, amelyet adatkutatók és statisztikusok egyaránt használnak. Támogatja az R Statisztikai Számítástechnikai Alapítvány és a nyílt forráskódú fejlesztők nagy közössége. Mivel R parancssori felületet használt, meredek tanulási görbe állhat be olyan egyének számára, akik hozzászoktak a GUI-ra fókuszáló programok, például az SPSS és az SAS használatához, így az R kiterjesztése, mint például az RStudio, nagyon hasznos lehet. Mivel az R egy nyílt forráskódú és szabadon hozzáférhető program, nagy vonzerőt vonzhat azon akadémikusok számára, akiknek statisztikai programokhoz való hozzáférését különféle főiskolákon vagy egyetemeken történő egyesülésük szabályozza.

Telepítés

Az első dolog, amellyel el kell kezdeni az R alkalmazást, az az, hogy az operációs rendszerének megfelelően töltse le a hivatalos webhelyről.

Népszerű R eszközök és csomagok

  • Az RStudio egy integrált fejlesztői környezet (IDE) az R. számára. Tartalmaz egy konzolt, szintaxist kiemelő szerkesztőt, amely támogatja a közvetlen kódfuttatást, valamint eszközöket a nyomtatáshoz, az előzményekhez, a hibakereséshez és a munkaterület kezeléséhez.
  • Az átfogó R archív hálózat (CRAN) az R eszközök és erőforrások vezető forrása.
  • A Tidyverse egy olyan R csomagok véleményes gyűjteménye, amelyet olyan adattudományok számára terveztek, mint a ggplot2, dplyr, readr, tidyr, purr, tibble.
  • A data.table data.framea jobb teljesítményre és a szűk, rugalmas szintaxisra összpontosító bázis megvalósítása .
  • Fényes keret az irányítópult stílusú webalkalmazások építéséhez R-ben.

Adattípusok R-ben

Vektor

Ez ugyanazon alaptípusú adatelemek sorozata. Például:

> o  p  q  o;p;q [1] 1.0 2.0 5.3 6.0 -2.0 4.0 [1] "one" "two" "three" "four" "five" "six" [1] TRUE TRUE FALSE TRUE FALSE

Mátrix

Ez egy kétdimenziós téglalap alakú adatsor. A mátrix komponenseinek ugyanolyan alaptípusúaknak kell lenniük, mint a vektor. Például:

> m = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE) > m >[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a"

Adatkeret

Általánosabb, mint egy mátrix, mivel a különböző oszlopoknak különböző alapadattípusaik lehetnek. Például:

> d  e  f  mydata  names(mydata)  mydata

Listák

Ez egy R-objektum, amely sokféle elemet tartalmazhat benne, például vektorokat, függvényeket és még egy másik listát is benne. Például:

> list1  list1 [[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin")

Funkciók R-ben

A funkció lehetővé teszi egy újrafelhasználható kódblokk definiálását, amely a programon belül sokszor végrehajtható.

A függvényeket többször meg lehet nevezni és hívni, vagy névtelenül futtathatók a helyükön (hasonlóan a python lambda funkcióihoz).

Az R funkciók teljes megértésének fejlesztéséhez meg kell érteni a környezeteket. A környezetek egyszerűen az objektumok kezelésének egyik módját jelentik. A működő környezetekre példa, hogy egy függvényen belül használhat redundáns változónevet, amely nem lesz hatással, ha a nagyobb futásidejű azonos változóval rendelkezik. Ezenkívül, ha egy függvény egy olyan függvényt hív meg, amely nem definiált a függvényen belül, akkor ellenõrizni fogja a változó magasabb szintû környezetét.

Szintaxis

R-ben a függvénydefiníció a következő tulajdonságokkal rendelkezik:

  1. A kulcsszó function
  2. egy függvény neve
  3. bemeneti paraméterek (opcionális)
  4. valamilyen végrehajtandó kódblokk
  5. visszatérési nyilatkozat (nem kötelező)
# a function with no parameters or returned values sayHello() = function(){ "Hello!" } sayHello() # calls the function, 'Hello!' is printed to the console # a function with a parameter helloWithName = function(name){ paste0("Hello, ", name, "!") } helloWithName("Ada") # calls the function, 'Hello, Ada!' is printed to the console # a function with multiple parameters with a return statement multiply = function(val1, val2){ val1 * val2 } multiply(3, 5) # prints 15 to the console

A függvények olyan kódblokkok, amelyek egyszerűen felhasználhatók a függvény meghívásával. Ez lehetővé teszi a kód egyszerű, elegáns újrafelhasználását anélkül, hogy kifejezetten újraírnánk a kódrészeket. Ezáltal a kód olvashatóbb, megkönnyíti a hibakeresést és korlátozza a gépelési hibákat.

Az R-ben lévő függvényeket a functionkulcsszó segítségével hozzák létre, a zárójelben lévő függvény nevével és függvény-paramétereivel együtt.

A return()függvényt a függvény felhasználhatja egy érték visszaadására, és jellemzően egy függvény visszaküldött értékű korai megszüntetésének kényszerítésére szolgál. Alternatív megoldásként a függvény visszaadja a végső nyomtatott értéket.

# return a value explicitly or simply by printing sum = function(a, b){ c = a + b return(c) } sum = function(a, b){ a + b } result = sum(1, 2) # result = 3

Megadhat alapértelmezett értékeket is azokhoz a paraméterekhez, amelyeket R akkor használ, ha a változó nincs megadva a függvényhívás során.

sum = function(a, b = 3){ a + b } result = sum(a = 1) # result = 4

A paramétereket a kívánt sorrendben is átadhatja a paraméter nevének felhasználásával.

result = sum(b=2, a=2) # result = 4

Az R további, opcionális paramétereket is elfogad

sum = function(a, b, ...){ a + b + ... } sum(1, 2, 3) #returns 6

A funkciók név nélkül is futtathatók. Ezek nagyon hasznosak az „Apply” funkciócsaláddal együtt.

# loop through 1, 2, 3 - add 1 to each sapply(1:3, function(i){ i + 1 })

Megjegyzések

Ha a függvénydefiníció olyan argumentumokat tartalmaz, amelyekben nincs megadva alapértelmezett érték, akkor ezeknek az értékeknek is szerepelniük kell.

sum = function(a, b = 3){ a + b } sum(b = 2) # Error in sum(b = 2) : argument "a" is missing, with no default

A függvényben definiált változók csak a függvény hatókörén belül léteznek, de ha a változó nincs megadva, akkor nagyobb környezetet fognak ellenőrizni

double = function(a){ a * 2 } double(x) # Error in double(x) : object 'x' not found double = function(){ a * 2 } a = 3 double() # 6

Beépített funkciók R-ben

  • Az R számos olyan funkcióval rendelkezik, amelyekkel olyan kifinomult feladatokat hajthat végre, mint a véletlenszerű mintavétel.
  • Például kerekíthet egy számot a round(), vagy kiszámíthatja annak tényleges számát a factorial().
> round(4.147) [1] 4 > factorial(3) [1] 6 > round(mean(1:6)) [1] 4
  • A függvénybe átadott adatokat a függvény argumentumának nevezzük.
  • You can simulate a roll of the die with R’s sample()function. The sample() function takes two arguments:a vector named x and a number named size. For example:
> sample(x = 1:4, size = 2) [] 4 2 > sample(x = die, size = 1) [] 3 >dice dice [1] 2 4 >sum(dice) [1] 6
  • If you’re not sure which names to use with a function, you can look up the function’s arguments with args.
> args(round) [1] function(x, digits=0)

Objects in R

R allows to save the data by storing it inside an R object.

What’s an object?

It is just a name that you can use to call up stored data. For example, you can save data into an object like a or b.

> a  a [1] 5

How to create an Object in R?

  1. To create an R object, choose a name and then use the less-than symbol, <, followed by a minus sign, -, to save data into it. This combination looks like an arrow, <-. R will make an object, give it your name, and store in it whatever follows the arrow.
  2. When you ask R what’s in a, it tells you on the next line. For example:
> die  die [1] 1 2 3 4 5 6
  1. You can name an object in R almost anything you want, but there are a few rules. First, a name cannot start with a number. Second, a name cannot use some special symbols, like ^, !, $, @, +, -, /, or *:
  2. R also understands capitalization (or is case-sensitive), so name and Name will refer to different objects.
  3. You can see which object names you have already used with the function ls().

More Information:

  • Learn R programming language basics in just 2 hours with this free course on statistical programming
  • An introduction to web scraping using R
  • An introduction to aggregates in R: a powerful tool for playing with data