Când lucrați cu cadre de date în R, este obișnuit să întâlniți situații în care trebuie să ștergeți sau să aruncați mai multe coloane simultan. Indiferent dacă vă curățați setul de date, eliminați variabilele inutile sau restrângeți analiza, a ști cum să eliminați eficient mai multe coloane este o abilitate crucială pentru orice programator R. În acest articol, vom explora mai multe metode pentru a șterge mai multe coloane din Base R, oferind exemple clare pentru fiecare abordare.
Folosind funcția Subset().
The subset()
funcția din R vă permite să selectați sau să eliminați coloane dintr-un cadru de date pe baza numelor lor. Pentru a șterge mai multe coloane folosind subset()
pur și simplu specificați cadrul de date și coloanele pe care doriți să le păstrați, omițându-le pe cele pe care doriți să le eliminați.
# Create a sample data frame df <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6), C = c(7, 8, 9), D = c(10, 11, 12)) # Delete columns B and D using subset() new_df <- subset(df, select = -c(B, D))
În acest exemplu, creăm un cadru de date eșantion df
cu patru coloane: A, B, C și D. Pentru a elimina coloanele B și D, folosim subset()
funcția și specificați coloanele pentru a continua să utilizați select
argument. Semnul minus -
înainte ca numele coloanelor să indice faptul că dorim să excludem acele coloane.
Folosind funcția Select() din dplyr
Dacă utilizați dplyr
pachet, puteți profita de select()
funcția de a elimina mai multe coloane dintr-un cadru de date. The select()
funcția vă permite să specificați coloanele pe care doriți să le păstrați sau să le eliminați folosind diverse funcții de ajutor.
# Load the dplyr package library(dplyr) # Delete columns B and D using select() new_df <- df %>% select(-B, -D)
În această abordare, folosim select()
functia de la dplyr
și specificați coloanele de eliminat prefixându-le cu semnul minus -
. The %>%
operatorul este utilizat pentru canalizarea cadrului de date df
în select()
funcţie.
Folosind semnul minus
O altă modalitate simplă de a șterge mai multe coloane din R este utilizarea semnului minus -
direct pe cadrul de date. Această metodă vă permite să specificați numele coloanelor sau indicii pe care doriți să îi eliminați.
# Delete columns B and D using the minus sign new_df <- df(, -c(2, 4)) new_df
Aici, folosim notația paranteze pătrate ()
pentru a subseta cadrul de date df
. În interiorul parantezei, specificăm rândurile (lasate necompletate pentru a include toate rândurile) și coloanele de eliminat folosind semnul minus -
urmat de un vector de nume de coloane.
Atribuirea NULL coloanelor
De asemenea, puteți elimina mai multe coloane dintr-un cadru de date prin atribuire NULL
la coloanele dorite. Această metodă modifică direct cadrul de date original.
# Delete columns B and D by assigning NULL df(, c("B", "D")) <- list(NULL) df
În acest exemplu, folosim notația paranteze pătrate ()
pentru a subseta cadrul de date df
. Specificăm coloanele de eliminat, furnizând un vector de nume de coloane și alocați list(NULL)
la acele coloane. Acest lucru elimină efectiv coloanele specificate din cadrul de date.
Acum este rândul tău să exersezi ștergerea mai multor coloane în R! Încercați următorul exercițiu:
Dat un cadru de date employee_data
cu coloanele „Nume”, „Vârsta”, „Departament”, „Salariu” și „Anii_de_Experiență”, eliminați coloanele „Vârsta” și „Anii_de_Experiență” folosind una dintre metodele discutate mai sus.
Click aici pentru solutie
# Remove "Age" and "Years_of_Experience" columns by assigning NULL employee_data(, c("Age", "Years_of_Experience")) <- list(NULL)
- The
subset()
funcția vă permite să eliminați coloanele specificând pe cele pe care doriți să le păstrați și omițând pe cele pe care doriți să le eliminați. - The
select()
funcția de ladplyr
pachetul oferă o modalitate convenabilă de a elimina coloanele folosind funcții de ajutor și semnul minus. - Puteți utiliza direct semnul minus pe un cadru de date pentru a elimina coloanele specificând numele sau indicii acestora.
- Atribuire
NULL
la anumite coloane dintr-un cadru de date elimină acele coloane din cadrul de date.
Ștergerea mai multor coloane în R este o sarcină comună atunci când lucrați cu cadre de date. Indiferent dacă preferați să utilizați subset()
funcția, cea select()
functia de la dplyr
semnul minus direct pe cadrul de date sau alocare NULL
la coloane, R oferă mai multe metode eficiente pentru a elimina coloanele în funcție de nevoile dumneavoastră specifice. Prin stăpânirea acestor tehnici, veți putea să vă curățați și să manipulați cu ușurință seturile de date, permițându-vă să vă concentrați asupra analizei și perspectivelor datelor.
Î: Pot elimina coloanele pe baza poziției lor în loc de nume?
O: Da, puteți elimina coloanele în funcție de poziția lor, folosind indici numerici în loc de nume de coloane în metodele discutate mai sus.
Î: Este posibil să eliminați coloanele în funcție de o condiție?
O: Da, puteți folosi condiții logice pentru a elimina coloanele pe baza unor criterii specifice. De exemplu, puteți utiliza df(, !names(df) %in% c("B", "D"))
pentru a elimina coloanele B și D pe baza numelor lor.
Î: Cum pot elimina coloanele care se potrivesc cu un anumit model în numele lor?
O: Puteți folosi expresii regulate pentru a potrivi numele coloanelor care urmează un anumit model. De exemplu, df(, !grepl("^X", names(df)))
elimină toate coloanele ale căror nume încep cu „X”.
Î: Ce se întâmplă dacă încerc să elimin o coloană care nu există în cadrul de date?
O: Dacă încercați să eliminați o coloană care nu există, R va genera o eroare care indică faptul că coloana nu este găsită în cadrul de date.
Î: Pot elimina coloanele și rândurile simultan?
O: Da, puteți elimina atât coloanele, cât și rândurile simultan, specificând indicii sau condițiile de rând și de coloană în operația de subsetare, cum ar fi df(rows, columns)
.