Cara menggunakan fungsi coalesce() di dplyr (dengan contoh)


Anda dapat menggunakan fungsi coalesce() dari paket dplyr di R untuk mengembalikan nilai pertama yang tidak hilang di setiap posisi dari satu atau lebih vektor.

Ada dua cara umum untuk menggunakan fungsi ini:

Metode 1: Ganti nilai yang hilang dalam vektor

 library (dplyr)

#replace missing values with 100
coalescence(x, 100)

Metode 2: Kembalikan nilai pertama yang tidak hilang di kolom bingkai data

 library (dplyr)

#return first non-missing value at each position across columns A and B
coalesce(df$A, df$B)

Contoh berikut menunjukkan bagaimana menerapkan setiap metode dalam praktik.

Contoh 1: Gunakan coalesce() untuk mengganti nilai yang hilang pada vektor

Kode berikut menunjukkan cara menggunakan fungsi coalesce() untuk mengganti semua nilai yang hilang dalam vektor dengan nilai 100:

 library (dplyr)

#create vector of values
x <- c(4, NA, 12, NA, 5, 14, 19)

#replace missing values with 100
coalescence(x, 100)

[1] 4 100 12 100 5 14 19

Perhatikan bahwa setiap nilai NA pada vektor asli telah diganti dengan nilai 100 .

Contoh 2: Gunakan coalesce() untuk mengembalikan nilai pertama yang tidak hilang di kolom bingkai data

Misalkan kita memiliki bingkai data berikut di R:

 #create data frame
df <- data. frame (A=c(10, NA, 5, 6, NA, 7, NA),
                 B=c(14, 9, NA, 3, NA, 10, 4))

#view data frame
df

   AB
1 10 14
2 NA 9
3 5 NA
4 6 3
5 NA NA
6 7 10
7 NA 4

Kode berikut menunjukkan cara menggunakan fungsi coalesce() untuk mengembalikan nilai pertama yang tidak hilang di kolom A dan B bingkai data:

 library (dplyr)

#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B)

#view updated data frame
df

   ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA NA
6 7 10 7
7 NA 4 4

Kolom C yang dihasilkan berisi nilai pertama yang tidak hilang di kolom A dan B.

Perhatikan bahwa baris 5 memiliki nilai NA di kolom C karena kolom A dan B sama-sama memiliki nilai NA di baris ini.

Kita cukup menambahkan nilai ekstra ke fungsi coalesce() untuk digunakan sebagai nilai jika ada nilai NA di setiap kolom:

 library (dplyr)

#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B, 100)

#view updated data frame
df

   ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA 100
6 7 10 7
7 NA 4 4

Perhatikan bahwa nilai NA pada baris 5 kolom C kini telah diganti dengan nilai 100 .

Sumber daya tambahan

Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya menggunakan dplyr:

Cara menghapus baris menggunakan dplyr
Cara menyusun baris menggunakan dplyr
Cara memfilter berdasarkan beberapa kondisi menggunakan dplyr

Tambahkan komentar

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