Gegevensopschoning uitvoeren in r (met voorbeeld)
Gegevensopschoning verwijst naar het proces waarbij ruwe gegevens worden omgezet in gegevens die geschikt zijn voor analyse of modelbouw.
In de meeste gevallen omvat het ‘opschonen’ van een dataset het omgaan met ontbrekende waarden en dubbele gegevens.
Hier zijn de meest gebruikelijke methoden voor het „opschonen“ van een dataset in R:
Methode 1: Rijen met ontbrekende waarden verwijderen
library (dplyr) #remove rows with any missing values df %>% na. omit ()
Methode 2: Vervang ontbrekende waarden door een andere waarde
library (dplyr) library (tidyr) #replace missing values in each numeric column with median value of column df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE ))))
Methode 3: Dubbele rijen verwijderen
library (dplyr) df %>% distinct(. keep_all = TRUE )
De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met het volgende dataframe in R dat informatie bevat over verschillende basketbalspelers:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'), points=c(4, 4, NA, 8, 6, 12, 14, 86, 13, 8), rebounds=c(9, 9, 7, 6, 8, NA, 9, 14, 12, 11), assists=c(2, 2, NA, 7, 6, 6, 9, 10, NA, 14)) #view data frame df team points rebound assists 1 to 4 9 2 2 to 4 9 2 3 B NA 7 NA 4 C 8 6 7 5 D 6 8 6 6 E 12 NA 6 7 F 14 9 9 8 G 86 14 10 9:13:12 NA 10 I 8 11 14
Voorbeeld 1: rijen met ontbrekende waarden verwijderen
We kunnen de volgende syntaxis gebruiken om rijen met ontbrekende waarden in elke kolom te verwijderen:
library (dplyr) #remove rows with missing values new_df <- df %>% na. omit () #view new data frame new_df team points rebound assists 1 to 4 9 2 2 to 4 9 2 4 C 8 6 7 5 D 6 8 6 7 F 14 9 9 8 G 86 14 10 10 I 8 11 14
Houd er rekening mee dat het nieuwe gegevensframe geen rijen met ontbrekende waarden bevat.
Voorbeeld 2: Vervang ontbrekende waarden door een andere waarde
We kunnen de volgende syntaxis gebruiken om ontbrekende waarden te vervangen door de mediaanwaarde van elke kolom:
library (dplyr) library (tidyr) #replace missing values in each numeric column with median value of column new_df <-df %>% mutate(across(where(is. numeric ),~replace_na(.,median(.,na. rm = TRUE )))) #view new data frame new_df team points rebound assists 1 to 4 9 2.0 2 to 4 9 2.0 3 B 8 7 6.5 4 C 8 6 7.0 5 D 6 8 6.0 6 E 12 9 6.0 7 F 14 9 9.0 8 G 86 14 10.0 9:13 12 6.5 10 I 8 11 14.0
Merk op dat de ontbrekende waarden in elke numerieke kolom elk zijn vervangen door de mediaanwaarde van de kolom.
Merk op dat u de mediaan in de formule ook kunt vervangen door het gemiddelde om ontbrekende waarden te vervangen door de gemiddelde waarde van elke kolom.
Opmerking : in dit voorbeeld moesten we ook het Tidyr- pakket laden omdat de drop_na()- functie uit dat pakket komt.
Voorbeeld 3: Dubbele rijen verwijderen
We kunnen de volgende syntaxis gebruiken om ontbrekende waarden te vervangen door de mediaanwaarde van elke kolom:
library (dplyr) #remove duplicate rows new_df <- df %>% distinct(. keep_all = TRUE ) #view new data frame new_df team points rebound assists 1 to 4 9 2 2 B NA 7 NA 3 C 8 6 7 4 D 6 8 6 5 E 12 NA 6 6 F 14 9 9 7 G 86 14 10 8:13:12 NA 9 I 8 11 14
Merk op dat de tweede rij uit het dataframe is verwijderd omdat elk van de waarden in de tweede rij duplicaten waren van de waarden in de eerste rij.
Opmerking : u kunt hier de volledige documentatie voor de functie dplyr different() vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Gegevens groeperen en samenvatten in R
Hoe u samenvattende tabellen maakt in R
Hoe rijen met ontbrekende waarden in R te verwijderen