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