Bagaimana cara memasukkan na dalam pernyataan ifelse di r


Seringkali Anda mungkin ingin menggunakan pernyataan ifelse di R untuk membuat kolom baru dalam bingkai data yang nilainya didasarkan pada nilai kolom yang ada.

Untuk melakukannya, Anda dapat menggunakan sintaks dasar berikut:

 df$new_column<- ifelse(df$col1 == ' A ', ' val_if_true ', ' val_if_false ')

Namun jika ada nilai NA pada suatu kolom, maka otomatis nilai pada kolom baru tersebut adalah NA.

Untuk menghindarinya, Anda dapat menggunakan fungsi !is.na() sebagai berikut:

 df$new_column<- ifelse(df$col1 == ' A ' & !is. na (df$col1) , ' val_if_true ', ' val_if_false ')

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: sertakan NA dalam pernyataan ifelse di R

Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang berbagai pemain bola basket:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F'),
                 conf=c('West', NA, 'West', 'East', 'East', 'East'),
                 points=c(30, 35, 11, 18, 14, NA))

#view data frame
df

  player conf points
1 A West 30
2 B <NA> 35
3 C West 11
4 D East 18
5 E East 14
6 F East NA

Sekarang misalkan kita mencoba membuat kolom baru bernama class yang mengambil nilai berikut:

  • ‘West_Player’ jika conf sama dengan ‘Barat’
  • ‘Lainnya’ jika conf tidak sama dengan ‘Barat’

Kode berikut menunjukkan cara melakukan ini:

 #create new column called 'class'
df$class <- ifelse(df$conf == ' West ', ' West_Player ', ' Other ')

#view updated data frame
df

  player conf points class
1 A West 30 West_Player
2 B <NA> 35 <NA>
3 C West 11 West_Player
4 D East 18 Other
5 E East 14 Other
6 F East NA Other

Perhatikan bahwa nilai kelas di baris 2 sama dengan NA karena nilai terkait di kolom conf sama dengan NA.

Untuk menghindari hal ini, kita dapat menggunakan fungsi !is.na() sebagai berikut:

 #create new column called 'class'
df$class <- ifelse(df$conf == ' West ' & !is. na (df$conf), ' West_Player ', ' Other ')

#view updated data frame
df

  player conf points class
1 A West 30 West_Player
2 B <NA> 35 Other
3 C West 11 West_Player
4 D East 18 Other
5 E East 14 Other
6 F East NA Other

Perhatikan bahwa nilai Kelas di baris 2 sekarang sama dengan “Lainnya” dan bukan NA.

Dengan menggunakan fungsi !is.na() , kami menetapkan bahwa nilai di kolom conf harus sama dengan ‘Barat’ dan tidak sama dengan NA agar nilai di kolom kelas baru menjadi ‘West_Player’.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara menulis pernyataan If Else bersarang di R
Cara menulis pernyataan kasus di R
Bagaimana cara menambahkan beberapa kolom ke bingkai data di R

Tambahkan komentar

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