Cara menghapus baris menggunakan dplyr (dengan contoh)


Anda dapat menggunakan sintaks dasar berikut untuk menghapus baris dari bingkai data di R menggunakan dplyr:

1. Hapus baris mana pun dengan NA

 df %>%
  n / A. omit ()

2. Hapus baris mana pun dengan NA di kolom tertentu

 df %>%
filter( ! is. na (column_name))

3. Hapus duplikat

 df %>%
  distinct()

4. Hapus baris berdasarkan posisi indeks

 df %>%
filter( ! row_number() %in% c(1, 2, 4))

5. Hapus baris berdasarkan kondisi

 df %>%
  filter(column1 == ' A ' | column2 > 8)

Contoh berikut menunjukkan cara menggunakan masing-masing metode ini dalam praktik dengan kerangka data berikut:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C'),
                 points=c(4, NA, 7, 5, 9, 9),
                 assists=c(1, 3, 5, NA, 2, 2))

#view data frame
df

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2
6 C 9 2

Contoh 1: Hapus baris mana pun dengan NA

Kode berikut menunjukkan cara menghapus baris apa pun yang berisi nilai NA dari bingkai data:

 #remove any row with NA
df %>%
  n / A. omit ()

  team points assists
1 to 4 1
3 B 7 5
5 C 9 2
6 C 9 2

Contoh 2: Hapus baris mana pun dengan NA di kolom tertentu

Kode berikut menunjukkan cara menghapus setiap baris yang berisi nilai NA di kolom tertentu:

 #remove any row with NA in 'points' column:
df %>%
  filter( ! is. na (dots))

  team points assists
1 to 4 1
2 B 7 5
3 B 5 NA
4 C 9 2
5 C 9 2

Contoh 3: Hapus baris duplikat

Kode berikut menunjukkan cara menghapus baris duplikat:

 #remove duplicate rows
df %>%
  distinct()

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2

Contoh 4: Hapus baris berdasarkan posisi indeks

Kode berikut menunjukkan cara menghapus baris berdasarkan posisi indeks:

 #remove rows 1, 2, and 4
df %>%
filter( ! row_number() %in% c(1, 2, 4))

  team points assists
1 B 7 5
2 C 9 2
3 C 9 2

Contoh 5: Hapus baris berdasarkan kondisi

Kode berikut menunjukkan cara menghapus baris berdasarkan kondisi tertentu:

 #only keep rows where team is equal to 'A' or points is greater than 8
df %>%
  filter(column1 == ' A ' | column2 > 8)

  team points assists
1 to 4 1
2 A NA 3
3 C 9 2
4 C 9 2

Sumber daya tambahan

Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya di dplyr:

Cara memilih kolom berdasarkan indeks menggunakan dplyr
Cara mengurutkan variabel berdasarkan kelompok menggunakan dplyr
Bagaimana cara mengganti NA dengan Zero di dplyr

Tambahkan komentar

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