J: periksa apakah string berisi beberapa substring


Anda dapat menggunakan metode berikut di R untuk memeriksa apakah suatu string berisi beberapa substring:

Metode 1: Periksa apakah string berisi salah satu dari beberapa substring

 df$contains_any <- apply(sapply(find_strings, grepl, df$team), 1 , any )

Sintaks khusus ini memeriksa apakah setiap string di kolom tim berisi salah satu string yang ditentukan dalam vektor string yang disebut find_strings .

Metode 2: Periksa apakah string berisi beberapa substring

 df$contains_any <- apply(sapply(find_strings, grepl, df$team), 1 , all )

Sintaks khusus ini memeriksa apakah setiap string di kolom tim berisi semua string yang ditentukan dalam vektor string yang disebut find_strings .

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut di R:

 #create data frame
df = data. frame (team=c('Good East Team', 'Good West Team', 'Great East Team',
                       'Great West Team', 'Bad East Team', 'Bad West Team'),
                points=c(93, 99, 105, 110, 85, 88))

#view data frame
df

             team points
1 Good East Team 93
2 Good West Team 99
3 Great East Team 105
4 Great West Team 110
5 Bad East Team 85
6 Bad West Team 88

Contoh 1: Periksa apakah string berisi salah satu dari beberapa substring

Kita dapat menggunakan sintaks berikut untuk memeriksa apakah setiap string di kolom tim berisi substring “Baik” atau “Apakah”:

 #define substrings to look for
find_strings <- c(' Good ', ' East ')

#check if each string in team column contains either substring
df$good_or_east <- apply(sapply(find_strings, grepl, df$team), 1 , any )

#view updated data frame
df

             team points good_or_east
1 Good East Team 93 TRUE
2 Good West Team 99 TRUE
3 Great East Team 105 TRUE
4 Great West Team 110 FALSE
5 Bad East Team 85 TRUE
6 Bad West Team 88 FALSE

Kolom good_or_east yang baru mengembalikan nilai berikut:

  • BENAR jika tim berisi “Baik” atau “Adalah”
  • SALAH jika tim tidak berisi “Baik” atau “Timur”

Contoh 2 : Periksa apakah string berisi beberapa substring

Kita dapat menggunakan sintaks berikut untuk memeriksa apakah setiap string di kolom tim berisi substring “Baik” dan “Apakah”:

 #define substrings to look for
find_strings <- c(' Good ', ' East ')

#check if each string in team column contains either substring
df$good_and_east <- apply(sapply(find_strings, grepl, df$team), 1 , all )

#view updated data frame
df

             team points good_and_east
1 Good East Team 93 TRUE
2 Good West Team 99 FALSE
3 Great East Team 105 FALSE
4 Great West Team 110 FALSE
5 Bad East Team 85 FALSE
6 Bad West Team 88 FALSE

Kolom baru good_and_east mengembalikan nilai berikut:

  • BENAR jika tim berisi “Baik” dan “Adalah”
  • SALAH jika tim tidak memuat “Baik” dan “Apakah”

Perhatikan bahwa hanya satu nilai TRUE yang dikembalikan karena hanya ada satu nama tim yang berisi substring “Baik” dan substring “Timur”.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

A: Bagaimana cara memeriksa apakah karakter ada dalam sebuah string
A: Cara menghilangkan spasi pada string
A: Cara mengekstrak string antar karakter tertentu

Tambahkan komentar

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