R és una de les eines d’anàlisi més populars. Però, a part d’utilitzar-se per a l’anàlisi, R també és un llenguatge de programació.Amb el seu creixement a la indústria de TI, hi ha una demanda en auge de professionals qualificats o amb una comprensió de R com a dos, una eina d’anàlisi de dades i un llenguatge de programació.En aquest bloc, us ajudaré a entendre els diversos fonaments de la programació R. En la nostra pàg reviós bloc ,hem discutit per què necessitem Analytics, què és Business Analytics, per què i qui utilitza R.
En aquest bloc, entendrem els conceptes bàsics següents de la programació R en la següent seqüència:
Podeu consultar l'enregistrament del seminari web de Llenguatge de programació R, on el nostre instructor ha explicat els temes de manera detallada amb exemples que us ajudaran a comprendre millor la programació R.
Programació R per a principiants | R Tutorial de llenguatge de programació | Edureka
Avancem doncs, i examinem el primer concepte de programació R: variables.
Programació R: variables
Les variables no són res més que un nom per a una ubicació de memòria que conté un valor. Una variable en R pot emmagatzemar valors numèrics, valors complexos, paraules, matrius i fins i tot una taula. Sorprenent, oi?
Fig: Creacióde variables
La imatge anterior ens mostra com es creen les variables i com s’emmagatzemen en diferents blocs de memòria. A R, no hem de declarar una variable abans d’utilitzar-la, a diferència d’altres llenguatges de programació com Java, C, C ++, etc.
Avancem i intentem entendre què és un tipus de dades i els diversos tipus de dades admesos a R.
Programació R: tipus de dades
A R, una variable en si mateixa no es declara de cap tipus de dades, sinó que obté el tipus de dades de l'objecte R que se li assigna. Per tant, R s’anomena llenguatge de tipus dinàmic, cosa que significa que podem canviar un tipus de dades de la mateixa variable una i altra vegada quan l’utilitzem en un programa.
Tipus de dades especifica quin tipus de valor té una variable i quin tipus d’operacions matemàtiques, relacionals o lògiques se li poden aplicar sense provocar cap error. Hi ha molts tipus de dades a R, tot i que a continuació es mostren els més freqüents:
Analitzem ara cadascun d’aquests tipus de dades de forma individual, començant per Vectors.
Vectors
Els vectors són els objectes de dades R més bàsics i hi ha sis tipus de vectors atòmics. A continuació es mostren els sis vectors atòmics:
Lògic : S'utilitza per emmagatzemar valor lògic com CERT o bé FALS .
Numèric : S'utilitza per emmagatzemar tant nombres positius com negatius, inclòs el nombre real.
Per exemple: 25, 7.1145, 96547
Enter : Conté tots els valors enters, és a dir, tots els nombres enters positius i negatius.
Per exemple: 45.479, -856.479, 0
Complex : Són de la forma x + yi, on x i y són numèriques i i representa l’arrel quadrada de -1.
diferència entre el mapa de hash i la taula de hash
Per exemple: 4 + 3i
Personatge : S'utilitza per emmagatzemar un sol caràcter, un grup de caràcters (paraules) o un grup de paraules juntes. Els caràcters es poden definir entre cometes simples o cometes dobles.
Per exemple: 'Edureka', 'R és divertit d'aprendre'.
En general, un vector es defineix i inicialitza de la manera següent:
Vtr = c (2, 5, 11, 24) O bé Vtr<- c(2, 5, 11 , 24)
Avancem i entenem altres tipus de dades a R.
Llista
Les llistes són bastant similars als vectors, però les llistes són els objectes R que poden contenir elements de diferents tipus, com ara números i menys, cadenes, vectors i una altra llista al seu interior.
Per exemple:
Vtr<- c('Hello', 'Hi','How are you doing') mylist <- list(Vtr, 22.5, 14965, TRUE) mylist
Sortida:
[[1]] [1] 'Hola' 'Hola' 'Com estàs fent '[[2]] [1] 22,5 [[3]] [1] 14965 [[4]] [1] CERT
Matriu
Matrix és l'objecte R en què els elements estan disposats en una disposició rectangular bidimensional.
La sintaxi bàsica per crear una matriu a R és & menys
matriu (dades, nrow, ncol, byrow, dimnames)
On:
diferència entre xef i titella
- dades és el vector d'entrada que es converteix en els elements de dades de la matriu.
- nrow és el nombre de files a crear.
- ncol és el nombre de columnes a crear.
- byrow és una pista lògica. Si és TRUE, els elements vectorials d’entrada s’ordenen per fila.
- dimname són els noms assignats a les files i columnes.
Exemple:
Mymatrix<- matrix(c(1:25), nrow = 5, ncol = 5, byrow = TRUE) Mymatrix
Sortida:
[, 1] [, 2] [, 3] [, 4] [, 5] [1,] 1 2 3 4 5 [2,] 6 7 8 9 oct [3,] 11 12 13 14 15 [4, ] 16 17 18 19 20 [5,] 21 22 23 24 25
ARRAY
Les matrius en R són objectes de dades que es poden utilitzar per emmagatzemar dades en més de dues dimensions. Pren vectors com a entrada i utilitza els valors del fitxer no paràmetre per crear una matriu.
La sintaxi bàsica per crear una matriu a R és & menys
matriu (dades, dim, dimnames)
On:
- dades és el vector d'entrada que es converteix en els elements de dades de la matriu.
- no és la dimensió de la matriu, on es passa el nombre de files, la columna i el nombre de matrius que es crearan per les dimensions esmentades.
- dimname són els noms assignats a les files i columnes.
Exemple:
Myarray<- array( c(1:16), dim=(4,4,2)) Myarray
Sortida:
,, 1 [, 1] [, 2] [, 3] [, 4] [1,] 1 maig 13 set [2,] 2 jun 14 oct [3,] 7 mar 15 nov [4,] 4 8 12 16 ,, 2 [, 1] [, 2] [, 3] [, 4] [1,] 1 maig 13 set [2,] 2 jun 14 oct [3,] 7 mar 15 nov [4,] 4 8 12 16
Marc de dades
Un marc de dades és una taula o una estructura de matriu bidimensional en què cada columna conté valors d’una variable i cada fila conté un conjunt de valorspercada columna. A continuació es mostren algunes de les característiques d’un marc de dades que cal tenir en compte cada vegada que treballem amb ells:
- Els noms de les columnes no haurien de ser buits.
- Cada columna ha de contenir la mateixa quantitat d’elements de dades.
- Les dades emmagatzemades en un marc de dades poden ser de tipus numèric, factor o caràcter.
- Els noms de les files han de ser únics.
Exemple:
emp_id = c (100: 104) emp_name = c ('John', 'Henry', 'Adam', 'Ron', 'Gary') dept = c ('Sales', 'Finance', 'Marketing', 'HR ',' R + D ') emp.data<- data.frame(emp_id, emp_name, dept) emp.data
Sortida:
emp_id emp_name dept 1 100 John Sales 2 101 Henry Finance 3 102 Adam Màrqueting 4 103 Ron HR 5 104 Gary R + D
Per tant, ara que hem entès els tipus bàsics de dades de R, és hora que ens endinsem profundament en R comprenent els conceptes d’operadors de dades.
Programació R: Operadors de dades
Hi ha principalment 4 operadors de dades a R, que es mostren a continuació:
Operadors aritmètics : Aquests operadors ens ajuden a realitzar les operacions aritmètiques bàsiques com sumar, restar, multiplicar, etc.
Penseu en el següent exemple:
num1 = 15 num2 = 20 num3 = 0 #addition 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 #floor division num3 = num1% /% num2 num3
Sortida:
[1] 35 [1] -5 [1] 300 [1] 0.75 [1] 15 [1] 125 [1] 1
Operadors relacionals : Aquests operadors ens ajuden a realitzar les operacions relacionals, com ara comprovar si una variable és major que, menor o igual a una altra variable. La sortida d’una operació relacional sempre és un valor lògic.
Penseu en els exemples següents:
num1 = 15 num2 = 20 #equals to num3 = (num1 == num2) num3 #not equal to num3 = (num1! = num2) num3 #lesser than num3 = (num1 num2) num3 #less than equal to num1 = 5 num2 = 20 num3 = (num1 = num2) num3
Sortida:
[1] FALS [1] CERT [1] CERT [1] FALS [1] CERT [1] FALS
Operadors de tasques: Aquests operadors s'utilitzen per assignar valors a variables de R. L'assignació es pot realitzar mitjançant l'operador d'assignació(<-) o operador igual (=). El valor de la variable es pot assignar de dues maneres: assignació esquerra i assignació dreta.
LògicOperadors: Aquests operadors comparen les dues entitats i normalment s’utilitzen amb valors booleans (lògics) com ara ‘i’, ‘o’i'no'.
Programació R: enunciats condicionals
- Declaració de If: La sentència If us ajuda a avaluar una sola expressió com a part del flux. Per realitzar aquesta avaluació, només heu d’escriure la paraula clau If seguida de l’expressió a avaluar. El diagrama de flux següent us donarà una idea de com la sentència If controla el flux d’un codi: tingueu en compte l’exemple següent:
num1 = 10 num2 = 20 si (num1<=num2){ print('Num1 is less or equal to Num2')
Sortida:
[1] 'Num1 és menor o igual a Num2'
- Declaració en cas contrari: La sentència Else if us ajuda a ampliar les branques al flux creat per la sentència If i us dóna l'oportunitat d'avaluar diverses condicions creant noves branques de flux. El flux següent us donarà una idea de com l’instrucció else if ramifica el flux del codi:
Penseu en el següent exemple:Num1 = 5 Num2 = 20 if (Num1 Num2) {print ('Num2 és menor que Num1')} else if ('Num1 == Num2) {print (' Num1 i Num2 són iguals ')}
Sortida:
[1] 'Num1 és inferior a Num2'
- Declaració d'altres: La sentència else s'utilitza quan es comproven totes les altres expressions i es troben invàlides. Aquesta serà l'última sentència que s'executa com a part de la branca If-Else if. A continuació, el flux us donarà una millor idea de com Altres altera el flux del codi:
Penseu en el següent exemple:
Num1 = 5 Num2 = 20 if (Num1 Num2) {print ('Num2 és menor que Num1')} else print ('Num1 i Num2 són iguals')}
Sortida:
[1] 'Num1 i Num2 són iguals'
Programació R: bucles
Una sentència de bucle ens permet executar una sentència o un grup d’instruccions diverses vegades. Hi ha principalment 3 tipus de bucles a R:
currículum vitae del desenvolupador de Python d'entrada
- repetir Loop : Repeteix un enunciat o grup d’enunciats mentre una condició determinada és VERITÀRIA. Repetir el bucle és el millor exemple d’un bucle controlat per sortida on s’executa primer el codi i després es comprova la condició per determinar si el control hauria de ser dins del bucle o sortir-ne. A continuació es mostra el flux de control en un bucle de repetició:
Vegem l'exemple següent per entendre com podem fer servir repetir bucle per afegir n nombres fins que la suma supera els 100:x = 2 repeteix {x = x ^ 2 print (x) if (x> 100) {break}
Sortida:
[1] 4 [1] 16 [1] 256
- mentre que Loop : Jot ajuda a repetir una sentència o grup d’enunciats mentre una condició determinada és TRUE. Mentre que el bucle, en comparació amb el bucle de repetició, és lleugerament diferent, és un exemple d’un bucle controlat per entrada on la condició es comprova primer i només si es troba que la condició és veritable, el control es lliura dins del bucle per executar el codi . A continuació es mostra el flux de control en un bucle while:
Vegem l'exemple següent per afegir la suma de quadrats dels primers 10 números i entendre com funciona millor el bucle while:num = 1 sumn = 0 mentre que (num<=11){ sumn =(sumn+ (num^2) num = num+1 print(sumn) }
Sortida:[1] 1 [1] 5 [1] 14 [1] 30 [1] 55 [1] 91 [1] 140 [1] 204 [1] 285 [1] 385 [1] 506
- per a Loop : S’utilitza per repetir un enunciat o un grup de vegades fixat. A diferència de la repetició i el bucle while, el bucle for s'utilitza en situacions en què som conscients del nombre de vegades que el codi ha d'executar-se abans. És similar al bucle while on es verifica la condició primer i després només s’executa el codi escrit dins. Vegem ara el flux de control del bucle for:
Vegem ara un exemple en què utilitzarem el bucle for per imprimir els primers 10 números:
per a (x en 1:10) {print (x)}
Sortida:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10
Programació R: Funcions
Una funció és un bloc de codi organitzat i reutilitzable que s’utilitza per realitzar una única acció relacionada. Hi ha principalment dos tipus de funcions a R:
Funcions predefinides : Són funcions integrades que l'usuari pot utilitzar per fer el seu treball easier. Ex: mean( x) , stum( x) , sqrt ( x ), toupper( x ), Etc.
Usuari definit Funcions: Aquestes funcions són creades per l'usuari per satisfer un requisit específic de l'usuari. A continuació es mostra la sintaxi per crear una funció aR:
func nom_ció <– funció (arg_1, arg_2 i hellip){ // Cos de la funció }
Penseu en el següent exemple d'una funció simple per generar la suma dels quadratsde2 números:
suma_de_quadrada<- function(x,y) { x^2 + y^2 } sum_of_sqares(3,4)
Sortida: [1] 25
Espero que us hagi agradat llegir aquest bloc de programació R. Hem tractat tots els conceptes bàsics de R en aquest tutorial, de manera que podeu començar a practicar ara. Després d’aquest bloc de programació R, aniré amb més blocs a R per a Analytics, així que estigueu atents.
Ara que heu entès els conceptes bàsics de R, consulteu el fitxer per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. La formació d’Edureka sobre Analítica de dades amb R us ajudarà a adquirir experiència en programació de R, manipulació de dades, anàlisi de dades exploratòries, visualització de dades, mineria de dades, regressió, anàlisi de sentiments i l’ús de RStudio per a estudis de casos reals sobre venda al detall, xarxes socials
Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc “Programació R” i us respondrem el més aviat possible.