prelucrare a datelor și editarea tabelelor r

Structura de masă și schimbarea tipurilor de date

Cel mai bun mod de a asigura noi cunoștințe - este o practică. Prin urmare, vom continua să lucreze cu tabelul de date fizică a unuia dintre elevii din școlile militare „voenvuz“. Astfel, sarcina este deja familiar pentru noi o masă în Rgui (tabelul poate fi descărcat de aici).

Capului și str

Despre tipurile de date

De ce este important să se identifice tipul de date în coloanele de masă? Pentru că în efectuarea testelor statistice, informații tip de date sunt luate în considerare și efectul asupra rezultatului.

Limba poate fi distinse R cinci tipuri de bază de date stocate în coloanele din tabel:

Există, de asemenea, complexe (complex) și brut (brut), tipurile de date, dar acestea sunt rare, și așa mai departe pentru ei nu voi scrie aici. datele care lipsesc sunt denumite în continuare „NA“ (din limba engleză nu este disponibilă. - N), apoi R și le ignoră.

Schimba tipurile de date în practică

Du-te, „Vârsta“, coloana a fost identificat corect ca un întreg. Dar coloanele „înălțimea“ și „greutate“ sunt numeric mai degrabă pentru că Valorile intermediare pot cuprinde, de exemplu, 182,5. Remake al Integer lor de tip în Tip numeric:
voenvuz $ înălțime <- as.numeric(voenvuz$Height)
voenvuz $ Greutate <- as.numeric(voenvuz$Weight)

Ca urmare, repetarea str comanda (voenvuz). Acum, avem nevoie pentru a obține această imagine.

prelucrare a datelor și editarea tabelelor r

Editarea tabelului al Elementelor

Uneori, există situații în care doriți să le inserați în coloană de tabel sau rând, modificați valoarea elementului sau numele coloanei. Masa noastră - nu este o excepție și are nevoie de lucru.

Adăugați rânduri

Adăugați la tabelul de date privind cele două noi studenți: Ivanov și Oleg. Pentru a face acest lucru, creați o nouă structură - lista (lista). În listă, facem parametrii de ordine, care coincide cu structura mesei (amintiți-vă că, în ghilimele vom scrie tipuri de date non-numerice):
Ivan <- list("Ivan", 21, 175, 67, "2", "+")
Oleg <- list("Oleg", 24, 189, 82, "1", "+")

După aceea, prin utilizarea rbind instrument vom combina aceste două liste cu masa noastră (Din rând se leagă limba engleză, ceea ce înseamnă literalmente „cravată linii“.):
voenvuz <- rbind(voenvuz, Ivan, Oleg)

Adăugarea de coloane

Avem acum în tabel, doi și doi dintre Ivan Oleg. În acest caz, ar fi bine să se înregistreze pentru fiecare elev un număr unic de identificare (ID), nu trebuie confundat cine este cine. Pentru a crea această structură, care este vectorul (o secvență de elemente de un anumit tip). În ea vom înregistra o secvență de 1 până la 22, astfel încât fiecare dintre 22 de studenții noștri au avut un ID unic:
ID-ul <- c(1:22)
Acum vom combina masa noastră vector folosind cbind funcția (din coloana bind limba engleză.):
voenvuz <- cbind(voenvuz, ID)
Nu uitați să schimbați tipul de date al noii coloane, cu un caracter:
voenvuz $ ID <- as.character(voenvuz$ID)

Ca un alt exemplu de a adăuga o nouă coloană din tabelul de date, se calculează indicele de masă corporală (IMC) pentru fiecare elev. Pentru a face acest lucru, vom folosi un nou mod: vom scrie o formulă matematică în limba indicelui R și atribui un nou nume de coloană „IMC“ în tabelul nostru:
voenvuz $ IMC <- voenvuz$Weight / (voenvuz$Height * 0.01)^2

Uitați-vă ce sa întâmplat folosind funcțiile familiare ale capului și str

Ștergerea rândurilor și coloanelor

Există o „formulă universală“ relativ pentru a elimina elementele din tabel: new.data <- my.data[. ]
Pentru a putea utiliza în mod corect trebuie să vă amintiți câteva reguli:

  1. După numele spațiului de tabelă în interiorul paranteze pătrate trebuie să fie împărțită în două părți printr-o virgulă.
  2. Tot ceea ce este înainte de virgula, se referă la liniile, toate că, după - coloane.
  3. Semnul minus înainte de numărul de coloană sau primul rând numărul pe care doriți să dezinstalați.
  4. Dacă există mai multe elemente, utilizați c (.). transfera elemente din interiorul consolelor cu virgulă.

În cazul nostru, pentru a elimina din tabel nu are nevoie de nimic, dar vă voi arăta câteva exemple, numite „trunchiate“ de masă „trash1“ nume, „trash2“, „trash3“, „trash4“:
trash1 <- voenvuz[. -7] # удалим раннее созданный столбец "ID"
trash2 <- voenvuz[ -2, ] # удалим строку под номером 2 (данные Петра)
trash3 <- voenvuz[ -c(1,2,3,4,5,6,7,8,9,10), ] # удалим первые десять строк
trash4 <- voenvuz[ -c(1:10), ] # то же самое, только код короче

Schimbarea numelor coloanelor și a datelor în celulele:

Redenumiți coloana „Rhesus.factor“ pe scurtat „Rhesus“. Pentru a face acest lucru, apelați numele funcției. scrie în parametrii funcție de nume de tabel și coloană numărul și atribuiți un nou nume:
nume (voenvuz) [6] <- "Rhesus"

Modificarea datelor într-o celulă de tabel nu este deosebit de dificilă. În paranteze vom înregistra coordonatele celulei necesare (înainte de punctul zecimal - linie, după o virgulă - coloana) și atribui o nouă valoare:
voenvuz [1, "Nume"] <- "Vanya"

După toate manipulările noastre, avem nevoie pentru a obține doar un astfel de tabel de date:

prelucrare a datelor și editarea tabelelor r

Filtrarea și sortarea datelor

Același rezultat vom realiza, dacă vom folosi operatorii logici „>“ (mai mare) și „!“ (Șters):
voenvuz.final <- voenvuz[!voenvuz$Age> 23]

Astfel, avem versiunea finală a tabelului „voenvuz.final“. Rămâne doar pentru a aranja coloanele:
voenvuz.final <- voenvuz.final[,c("Name", "ID", "Age", "Height", "Weight", "BMI", "Blood.group", "Rhesus")]

Și pentru a sorta în numele datelor studenților folosind funcția de comandă.
voenvuz.final <- voenvuz.final[order(voenvuz.final$Name),]

După editarea tabelului, actualizați numele rând, deoarece Acum, ei nu corespund realității, și obține un tabel pe ecran prin tastarea numele tabelei în consolă:
rownames (voenvuz.final) = c (1: lungime (voenvuz.final $ ID))
voenvuz.final

prelucrare a datelor și editarea tabelelor r

concluzie

Datele descrise mai sus de editare metode nu sunt unice în tabel, există multe alte metode și comenzi, permițând să se obțină rezultatul dorit. Am vorbit doar dintre cele mai simple și cele mai frecvent utilizate. Pentru informații mai detaliate cu privire la acest subiect, aș dori să recomande două surse în limba engleză: