Cara melakukan pembersihan data di r (dengan contoh)


Pembersihan data mengacu pada proses mengubah data mentah menjadi data yang sesuai untuk analisis atau pembuatan model.

Dalam kebanyakan kasus, “pembersihan” kumpulan data melibatkan penanganan nilai yang hilang dan data duplikat.

Berikut adalah metode paling umum untuk “membersihkan” kumpulan data di R:

Metode 1: Hapus baris dengan nilai yang hilang

 library (dplyr)

#remove rows with any missing values
df %>% na. omit ()

Metode 2: Ganti nilai yang hilang dengan nilai lain

 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 ))))

Metode 3: Hapus Baris Duplikat

 library (dplyr)

df %>% distinct(. keep_all = TRUE )

Contoh berikut menunjukkan cara menggunakan masing-masing metode ini dalam praktik dengan kerangka data berikut di R yang berisi informasi tentang berbagai pemain bola basket:

 #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

Contoh 1: Hapus baris dengan nilai yang hilang

Kita dapat menggunakan sintaks berikut untuk menghapus baris dengan nilai yang hilang di kolom mana pun:

 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

Perhatikan bahwa bingkai data baru tidak berisi baris apa pun dengan nilai yang hilang.

Contoh 2: Ganti nilai yang hilang dengan nilai lain

Kita dapat menggunakan sintaks berikut untuk mengganti nilai yang hilang dengan nilai median setiap 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

Perhatikan bahwa nilai yang hilang di setiap kolom numerik masing-masing telah diganti dengan nilai median kolom tersebut.

Perhatikan bahwa Anda juga dapat mengganti median dalam rumus dengan mean untuk mengganti nilai yang hilang dengan nilai mean setiap kolom.

Catatan : Kami juga harus memuat paket Tidyr dalam contoh ini karena fungsi drop_na() berasal dari paket tersebut.

Contoh 3: Hapus baris duplikat

Kita dapat menggunakan sintaks berikut untuk mengganti nilai yang hilang dengan nilai median setiap 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

Perhatikan bahwa baris kedua telah dihapus dari bingkai data karena setiap nilai di baris kedua merupakan duplikat dari nilai di baris pertama.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi dplyr berbeda() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara mengelompokkan dan meringkas data di R
Cara membuat tabel ringkasan di R
Cara menghapus baris dengan nilai yang hilang di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *