Bine ati venit! Dacă doriți să începeți să vă scufundați în știința datelor și statisticile, atunci cadrele de date, fișierele CSV și R vor fi instrumente esențiale pentru dvs. Să vedem cum puteți folosi capacitățile lor uimitoare.

În acest articol, veți afla:

  • Ce sunt fișierele CSV și pentru ce sunt utilizate.
  • Cum să creați fișiere CSV utilizând Foi de calcul Google.
  • Cum se citesc fișiere CSV în R.
  • Ce sunt cadrele de date și pentru ce sunt utilizate.
  • Cum se accesează elementele unui cadru de date.
  • Cum se modifică un cadru de date.
  • Cum se adaugă și se șterg rânduri și coloane.

Vom folosi RStudio, un IDE open-source (mediu de dezvoltare integrat) pentru a rula exemplele.

Sa incepem! ✨

🔹 Introducere în fișiere CSV

Fișierele CSV (valori separate prin virgulă) pot fi considerate unul dintre elementele de bază ale analizei datelor, deoarece sunt utilizate pentru a stoca date reprezentate sub forma unui tabel.

În acest fișier, valorile sunt separate prin virgule pentru a reprezenta diferitele coloane ale tabelului, ca în acest exemplu:

Cum sa lucrati cu cadre de date si fisiere CSV
Fișier CSV

Vom genera acest fișier folosind Foi de calcul Google.

🔸 Cum se creează un fișier CSV folosind Foi de calcul Google

Să creăm primul fișier CSV folosind Foi de calcul Google.

Pasul 1: Du-te la Site-ul Google Foi de calcul și faceți clic pe „Accesați Foi de calcul Google”:

1611944949 601 Cum sa lucrati cu cadre de date si fisiere CSV

💡 Sfat: Puteți accesa Foi de calcul Google făcând clic pe butonul situat în marginea din dreapta sus a paginii de pornire Google:

1611944949 10 Cum sa lucrati cu cadre de date si fisiere CSV

Dacă mărim, vom vedea butonul „Foi”:

1611944949 421 Cum sa lucrati cu cadre de date si fisiere CSV

💡 Bacsis: Pentru a folosi Foi de calcul Google, trebuie să aveți un cont Gmail. Alternativ, puteți crea un fișier CSV utilizând MS Excel sau un alt editor de foi de calcul.

Veți vedea acest panou:

1611944949 887 Cum sa lucrati cu cadre de date si fisiere CSV

Pasul 2: Creați o foaie de calcul goală dând clic pe butonul „+”.

1611944949 93 Cum sa lucrati cu cadre de date si fisiere CSV

Acum aveți o nouă foaie de calcul goală:

1611944949 251 Cum sa lucrati cu cadre de date si fisiere CSV

Pasul 3: Schimbați numele foii de calcul în students_data. Va trebui să folosim numele fișierului pentru a lucra cu cadre de date. Scrieți noul nume și faceți clic pe Enter pentru a confirma modificarea.

1611944949 889 Cum sa lucrati cu cadre de date si fisiere CSV

Pasul 4: În primul rând al foii de calcul, scrieți titlurile coloanelor.

1611944949 555 Cum sa lucrati cu cadre de date si fisiere CSV

Când importați un fișier CSV în R, se apelează titlurile coloanelor variabile. Vom defini șase variabile: first_name, last_name, age, num_siblings, num_pets, și eye_color, după cum puteți vedea chiar mai jos:

1611944949 428 Cum sa lucrati cu cadre de date si fisiere CSV

💡 Bacsis: Observați că numele sunt scrise cu litere mici, iar cuvintele sunt separate cu o subliniere. Acest lucru nu este obligatoriu, dar din moment ce va trebui să accesați aceste nume în R, este foarte obișnuit să utilizați acest format.

Pasul 5: Introduceți datele pentru fiecare dintre coloane.

Când citiți fișierul în R, fiecare rând se numește observareși corespunde datelor preluate de la un individ, animal, obiect sau entitate de la care am colectat date.

În acest caz, fiecare rând corespunde datelor unui student:

1611944949 40 Cum sa lucrati cu cadre de date si fisiere CSV

Pasul 6: Descărcați fișierul CSV dând clic pe File -> Download -> Comma-separated values, după cum puteți vedea mai jos:

1611944949 979 Cum sa lucrati cu cadre de date si fisiere CSV

Pasul 7: Redenumiți fișierul CSV. Va trebui să eliminați „Sheet1” din numele implicit, deoarece Google Sheet va adăuga automat acest lucru la numele fișierului.

1611944949 61 Cum sa lucrati cu cadre de date si fisiere CSV

Buna treaba! Acum aveți fișierul CSV și este timpul să începeți să lucrați cu el în R.

🔹 Cum se citește un fișier CSV în R

În RStudio, primul pas înainte de a citi un fișier CSV este să vă asigurați că directorul curent de lucru este directorul în care se află fișierul CSV.

💡 Bacsis: Dacă nu este cazul, va trebui să utilizați calea completă către fișier.

Schimbați directorul de lucru curent

Puteți schimba directorul curent de lucru în acest panou:

1611944949 857 Cum sa lucrati cu cadre de date si fisiere CSV

Dacă mărim, puteți vedea calea curentă (1) și o puteți selecta pe cea nouă făcând clic pe elipsa (...) butonul din dreapta (2):

1611944950 186 Cum sa lucrati cu cadre de date si fisiere CSV

💡 Bacsis: De asemenea, puteți verifica directorul curent de lucru cu getwd() în consola interactivă.

Apoi, faceți clic pe „Mai multe” și „Setați ca director de lucru”.

1611944950 345 Cum sa lucrati cu cadre de date si fisiere CSV

Citiți fișierul CSV

Odată ce ați configurat directorul curent de lucru, puteți citi fișierul CSV cu această comandă:

1611944950 605 Cum sa lucrati cu cadre de date si fisiere CSV

În codul R, avem acest lucru:

> students_data <- read.csv("students_data.csv")

💡 Bacsis: Îl atribuim variabilei students_data pentru a accesa datele fișierului CSV cu această variabilă. În R, putem separa cuvinte folosind puncte ., subliniază _, UpperCamelCase, sau lowerCamelCase.

După executarea acestei comenzi, veți vedea acest lucru în panoul din dreapta sus:

1611944950 717 Cum sa lucrati cu cadre de date si fisiere CSV

Acum aveți o variabilă definită în mediu! Să vedem ce sunt cadrele de date și cum sunt strâns legate de fișierele CSV.

🔸 Introducere în cadrele de date

Cadrele de date sunt formatul digital standard utilizat pentru stocarea datelor statistice sub forma unui tabel. Când citiți un fișier CSV în R, se generează un cadru de date.

Putem confirma acest lucru verificând tipul variabilei cu class funcţie:

> class(students_data)
[1] "data.frame"

Are sens, nu? Fișierele CSV conțin date reprezentate sub forma unui tabel, iar cadrele de date reprezintă acele date tabulare din codul dvs., astfel încât acestea sunt conectate profund.

Dacă introduceți această variabilă în consola interactivă, veți vedea conținutul fișierului CSV:

> students_data
  first_name last_name age num_siblings num_pets eye_color
1      Emily    Dawson  15            2        5      BLUE
2       Rose Patterson  14            5        0     GREEN
3  Alexander     Smith  16            0        2     BROWN
4       Nora    Navona  16            4       10     GREEN
5       Gino      Sand  17            3        8      BLUE

Mai multe informații despre cadrul de date

Aveți mai multe alternative diferite pentru a vedea numărul de variabile și observații ale cadrului de date:

  • Prima dvs. opțiune este să vă uitați la panoul din dreapta sus, care arată variabilele care sunt definite în prezent în mediu. Acest cadru de date are 5 observații (rânduri) și 6 variabile (coloane):
1611944950 756 Cum sa lucrati cu cadre de date si fisiere CSV
  • O altă alternativă este utilizarea funcțiilor nrow și ncol în consola interactivă sau în programul dvs., trecând cadrul de date ca argument. Obținem aceleași rezultate: 5 rânduri și 6 coloane.
> nrow(students_data)
[1] 5
> ncol(students_data)
[1] 6
  • De asemenea, puteți vedea mai multe informații despre cadrul de date folosind str funcţie:
> str(students_data)
'data.frame':	5 obs. of  6 variables:
 $ first_name  : Factor w/ 5 levels "Alexander","Emily",..: 2 5 1 4 3
 $ last_name   : Factor w/ 5 levels "Dawson","Navona",..: 1 3 5 2 4
 $ age         : int  15 14 16 16 17
 $ num_siblings: int  2 5 0 4 3
 $ num_pets    : int  5 0 2 10 8
 $ eye_color   : Factor w/ 3 levels "BLUE","BROWN",..: 1 3 2 3 1

Această funcție (aplicată unui cadru de date) vă spune:

  • Numărul de observații (rânduri).
  • Numărul de variabile (coloane).
  • Numele variabilelor.
  • Tipurile de date ale variabilelor.
  • Mai multe informații despre variabile.

Puteți vedea că această funcție este foarte bună atunci când doriți să aflați mai multe despre datele cu care lucrați.

💡 Bacsis: În R, un „factor” este o variabilă calitativă, care este o variabilă ale cărei valori reprezintă categorii. De exemplu, eye_color are valorile "BLUE", "BROWN", "GREEN" care sunt categorii, așa cum puteți vedea în rezultatul str mai sus, această variabilă este definită automat ca „factor” atunci când fișierul CSV este citit în R.

🔹 Cadre de date: operațiuni și funcții cheie

Acum știi cum să vezi mai multe informații despre cadrul de date. Dar magia cadrelor de date constă în capacitățile și funcționalitățile uimitoare pe care le oferă, așa că haideți să vedem acest lucru mai detaliat.

Cum se accesează o valoare a unui cadru de date

Cadrele de date sunt ca matrici, astfel încât să puteți accesa valorile individuale folosind doi indici înconjurați de paranteze pătrate și separați printr-o virgulă pentru a indica ce rânduri și ce coloane doriți să includeți în rezultat, astfel:

1611944950 555 Cum sa lucrati cu cadre de date si fisiere CSV

De exemplu, dacă vrem să accesăm valoarea lui eye_color (coloana 6) a celui de-al patrulea student din date (rândul 4):

1611944950 567 Cum sa lucrati cu cadre de date si fisiere CSV

Trebuie să folosim această comandă:

> students_data[4, 6]

💡 Bacsis: În R, indicii încep de la 1 iar primul rând cu numele variabilelor nu este numărat.

Acesta este rezultatul:

[1] GREEN
Levels: BLUE BROWN GREEN

Puteți vedea că valoarea este "GREEN". Variabilele de tip „factor” au „niveluri” care reprezintă diferitele categorii sau valori pe care le pot lua. Această ieșire ne indică nivelurile variabilei eye_color.

Cum se accesează rândurile și coloanele unui cadru de date

Putem folosi această sintaxă și pentru a accesa o gamă de rânduri și coloane pentru a obține o porțiune din matricea originală, astfel:

1611944950 400 Cum sa lucrati cu cadre de date si fisiere CSV

De exemplu, dacă dorim să obținem vârsta și numărul fraților din al treilea, al patrulea și al cincilea elev din listă, am folosi:

> students_data[3:5, 3:4]

  age num_siblings
3  16            0
4  16            4
5  17            3

💡 Sfat: Sintaxa de bază pentru a defini un interval în R este <start>:<end>. Rețineți că acești indici sunt inclusiv, deci al treilea și al cincilea element sunt incluși în exemplul de mai sus când scriem 3:5.

Dacă dorim să obținem toate rândurile sau coloanele, omitem pur și simplu intervalul și includem virgula, astfel:

> students_data[3:5,]

  first_name last_name age num_siblings num_pets eye_color
3  Alexander     Smith  16            0        2     BROWN
4       Nora    Navona  16            4       10     GREEN
5       Gino      Sand  17            3        8      BLUE

Nu am inclus un interval pentru coloane după virgulă students_data[3:5,], deci obținem toate coloanele cadrului de date pentru cele trei rânduri pe care le-am specificat.

În mod similar, putem obține toate rândurile pentru un anumit interval de coloane dacă omitem rândurile:

> students_data[, 1:3]

  first_name last_name age
1      Emily    Dawson  15
2       Rose Patterson  14
3  Alexander     Smith  16
4       Nora    Navona  16
5       Gino      Sand  17

💡 Sfat: Observați că trebuie să includeți în continuare virgula în ambele cazuri.

Cum se accesează o coloană

Există trei moduri de a accesa o întreagă coloană:

  • Opțiunea 1: pentru a accesa o coloană și a o returna ca cadru de date, puteți utiliza această sintaxă:
1611944950 481 Cum sa lucrati cu cadre de date si fisiere CSV

De exemplu:

> students_data["first_name"]

  first_name
1      Emily
2       Rose
3  Alexander
4       Nora
5       Gino
  • Opțiunea # 2: pentru a obține o coloană ca vector (secvență), puteți utiliza această sintaxă:
1611944950 430 Cum sa lucrati cu cadre de date si fisiere CSV

💡 Sfat: Observați utilizarea fișierului $ simbol.

De exemplu:

> students_data$first_name

[1] Emily     Rose      Alexander Nora      Gino     
Levels: Alexander Emily Gino Nora Rose
  • Opțiunea # 3: De asemenea, puteți utiliza această sintaxă pentru a obține coloana ca vector (a se vedea mai jos). Aceasta este echivalentă cu sintaxa anterioară:
> students_data[["first_name"]]

[1] Emily     Rose      Alexander Nora      Gino     
Levels: Alexander Emily Gino Nora Rose

Cum se filtrează rândurile unui cadru de date

Puteți filtra rândurile unui cadru de date pentru a obține o porțiune a matricei care îndeplinește anumite condiții.

Pentru aceasta, folosim această sintaxă, trecând condiția ca primul element între paranteze pătrate, apoi o virgulă și lăsând în cele din urmă al doilea element gol.

1611944950 951 Cum sa lucrati cu cadre de date si fisiere CSV

De exemplu, pentru a obține toate rândurile pentru care students_data$age > 16, am folosi:

> students_data[students_data$age > 16,]

  first_name last_name age num_siblings num_pets eye_color
5       Gino      Sand  17            3        8      BLUE

Obținem un cadru de date cu rândurile care îndeplinesc această condiție.

Filtrați rândurile și alegeți coloane

Puteți combina această condiție cu o gamă de coloane:

> students_data[students_data$age > 16, 3:6]

  age num_siblings num_pets eye_color
5  17            3        8      BLUE

Obținem rândurile care îndeplinesc condiția și coloanele din interval 3:6.

🔸 Cum se modifică cadrele de date

Puteți modifica valorile individuale ale unui cadru de date, puteți adăuga coloane, adăugați rânduri și le puteți elimina. Să vedem cum puteți face acest lucru!

Cum se schimbă o valoare

Pentru a modifica o valoare individuală a cadrului de date, trebuie să utilizați această sintaxă:

1611944950 408 Cum sa lucrati cu cadre de date si fisiere CSV

De exemplu, dacă vrem să schimbăm valoarea care este în prezent la rândul 4 și coloana 6, notată în albastru chiar aici:

1611944950 567 Cum sa lucrati cu cadre de date si fisiere CSV

Trebuie să folosim această linie de cod:

students_data[4, 6] <- "BROWN"

💡 Sfat: Puteți utiliza, de asemenea = ca operator de atribuire.

Aceasta este rezultatul. Valoarea a fost modificată cu succes.

1611944950 83 Cum sa lucrati cu cadre de date si fisiere CSV

💡 Sfat: Amintiți-vă că primul rând al fișierului CSV nu este numărat ca primul rând, deoarece are numele variabilelor.

Cum se adaugă rânduri într-un cadru de date

Pentru a adăuga un rând într-un cadru de date, trebuie să utilizați rbind funcţie:

1611944950 876 Cum sa lucrati cu cadre de date si fisiere CSV

Această funcție ia două argumente:

  • Cadrul de date pe care doriți să îl modificați.
  • O listă cu datele noului rând. Pentru a crea lista, puteți utiliza fișierul list() funcție cu fiecare valoare separată printr-o virgulă.

Acesta este un exemplu:

> rbind(students_data, list("William", "Smith", 14, 7, 3, "BROWN"))

Ieșirea este:

  first_name last_name age num_siblings num_pets eye_color
1      Emily    Dawson  15            2        5      BLUE
2       Rose Patterson  14            5        0     GREEN
3  Alexander     Smith  16            0        2     BROWN
4       Nora    Navona  16            4       10     BROWN
5       Gino      Sand  17            3        8      BLUE
6       <NA>     Smith  14            7        3     BROWN

Dar asteapta! A fost afișat un mesaj de avertizare:

Mesaj de avertizare: În `[<-.factor`(`*tmp*`, ri, value = "William") :
  invalid factor level, NA generated

And notice the first value of the sixth row, it is <NA>:

6       <NA>     Smith  14            7        3     BROWN

This occurred because the variable first_name was defined automatically as a factor when we read the CSV file and factors have fixed “categories” (levels).

You cannot add a new level (value – "William") to this variable unless you read the CSV file with the value FALSE for the parameter stringsAsFactors, as shown below:

> students_data <- read.csv("students_data.csv", stringsAsFactors = FALSE)
1611944951 268 Cum sa lucrati cu cadre de date si fisiere CSV

Now, if we try to add this row, the data frame is modified successfully.

> students_data <- rbind(students_data, list("William", "Smith", 14, 7, 3, "BROWN"))
> students_data

  first_name last_name age num_siblings num_pets eye_color
1      Emily    Dawson  15            2        5      BLUE
2       Rose Patterson  14            5        0     GREEN
3  Alexander     Smith  16            0        2     BROWN
4       Nora    Navona  16            4       10     GREEN
5       Gino      Sand  17            3        8      BLUE
6    William     Smith  14            7        3     BROWN

💡 Tip: Note that if you read the CSV file again and assign it to the same variable, all the changes made previously will be removed and you will see the original data frame. You need to add this argument to the first line of code that reads the CSV file and then make changes to it.

How to Add Columns to a Data Frame

Adding columns to a data frame is much simpler. You need to use this syntax:

1611944951 57 Cum sa lucrati cu cadre de date si fisiere CSV

For example:

> students_data$GPA <- c(4.0, 3.5, 3.2, 3.15, 2.9, 3.0)

💡 Tip: The number of elements has to be equal to the number of rows of the data frame.

The output shows the data frame with the new GPA column:

> students_data

  first_name last_name age num_siblings num_pets eye_color  GPA
1      Emily    Dawson  15            2        5      BLUE 4.00
2       Rose Patterson  14            5        0     GREEN 3.50
3  Alexander     Smith  16            0        2     BROWN 3.20
4       Nora    Navona  16            4       10     GREEN 3.15
5       Gino      Sand  17            3        8      BLUE 2.90
6    William     Smith  14            7        3     BROWN 3.00

How to Remove Columns

To remove columns from a data frame, you need to use this syntax:

1611944951 945 Cum sa lucrati cu cadre de date si fisiere CSV

When you assign the value Null to a column, that column is removed from the data frame automatically.

For example, to remove the age column, we use:

> students_data$age <- NULL

The output is:

> students_data

  first_name last_name num_siblings num_pets eye_color  GPA
1      Emily    Dawson            2        5      BLUE 4.00
2       Rose Patterson            5        0     GREEN 3.50
3  Alexander     Smith            0        2     BROWN 3.20
4       Nora    Navona            4       10     GREEN 3.15
5       Gino      Sand            3        8      BLUE 2.90
6    William     Smith            7        3     BROWN 3.00

How to Remove Rows

To remove rows from a data frame, you can use indices and ranges. For example, to remove the first row of a data frame:

1611944951 666 Cum sa lucrati cu cadre de date si fisiere CSV

The [-1,] preia o porțiune din cadrul de date care nu include primul rând. Apoi, această porțiune este atribuită aceleiași variabile.

Dacă avem acest cadru de date și dorim să ștergem primul rând:

1611944951 567 Cum sa lucrati cu cadre de date si fisiere CSV

Ieșirea este un cadru de date care nu include primul rând:

1611944951 752 Cum sa lucrati cu cadre de date si fisiere CSV

În general, pentru a elimina un anumit rând, trebuie să utilizați această sintaxă unde <row_num> este rândul pe care doriți să îl eliminați:

1611944951 628 Cum sa lucrati cu cadre de date si fisiere CSV

💡 Sfat: Observați - semnează înainte de numărul rândului.

De exemplu, dacă vrem să eliminăm rândul 4 din acest cadru de date:

1611944951 570 Cum sa lucrati cu cadre de date si fisiere CSV

Ieșirea este:

1611944951 91 Cum sa lucrati cu cadre de date si fisiere CSV

După cum puteți vedea, rândul 4 a fost eliminat cu succes.

🔹 În rezumat

  • Fișierele CSV sunt fișiere cu valori separate prin virgulă utilizate pentru a reprezenta date sub forma unui tabel. Aceste fișiere pot fi citite folosind R și RStudio.
  • Cadrele de date sunt utilizate în R pentru a reprezenta date tabulare. Când citiți un fișier CSV, este creat un cadru de date pentru a stoca datele.
  • Puteți accesa și modifica valorile, rândurile și coloanele unui cadru de date.

Sper cu adevărat că ți-a plăcut articolul meu și l-ai găsit util. Acum puteți lucra cu cadre de date și fișiere CSV în R.

Dacă ți-a plăcut acest articol, ia în considerare înscriindu-mă la noul meu curs online “Introducere în statistici în R – O abordare practică