Cara menggunakan fungsi setdiff di r (dengan contoh)


Fungsi setdiff() di R dapat digunakan untuk mencari perbedaan antara dua himpunan. Fungsi ini menggunakan sintaks berikut:

setdiff(x,y)

Emas:

  • x, y: vektor atau bingkai data yang berisi rangkaian elemen

Tutorial ini memberikan beberapa contoh penggunaan praktis fungsi ini.

Contoh 1: Setdiff dengan vektor numerik

Kode berikut menunjukkan cara menggunakan setdiff() untuk mengidentifikasi semua nilai pada vektor a yang tidak muncul pada vektor b :

 #definevectors
a <- c(1, 3, 4, 5, 9, 10)
b <- c(1, 2, 3, 4, 5, 6)

#find all values in a that do not occur in b
setdiff (a,b)

[1] 9 10

Ada dua nilai yang muncul di vektor a yang tidak muncul di vektor b : 9 dan 10 .

Jika kita membalikkan urutan vektor dalam fungsi setdiff() , kita dapat mengidentifikasi semua nilai dalam vektor b yang tidak muncul dalam vektor a :

 #find all values in b that do not occur in a
setdiff (b,a)

[1] 2 6

Ada dua nilai yang muncul di vektor b yang tidak muncul di vektor a : 2 dan 6 .

Contoh 2: Setdiff dengan vektor karakter

Kode berikut menunjukkan cara menggunakan setdiff() untuk mengidentifikasi semua nilai pada vektor char1 yang tidak muncul pada vektor char2 :

 #define character vectors
char1 <- c('A', 'B', 'C', 'D', 'E')
char2 <- c('A', 'B', 'E', 'F', 'G')

#find all values in char1 that do not occur in char2
setdiff (char1, char2)

[1] “C” “D”

Contoh 3: Setdiff dengan bingkai data

Kode berikut menunjukkan cara menggunakan setdiff() untuk mengidentifikasi semua nilai dalam kolom bingkai data yang tidak muncul di kolom yang sama pada bingkai data kedua:

 #define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 94, 104))

df2 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 98, 99))

#find differences between the points columns in the two data frames
setdiff (df1$points, df2$points)

[1] 94 104

Kita dapat melihat bahwa nilai 94 dan 104 muncul pada kolom titik pada bingkai data pertama, tetapi tidak pada kolom titik pada bingkai data kedua.

Sumber daya tambahan

Cara menjumlahkan kolom tertentu di R
Cara menjumlahkan baris tertentu di R
Cara melakukan pencocokan string parsial di R

Tambahkan komentar

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