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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert