O: sprawdź, czy ciąg zawiera wiele podciągów


Możesz użyć następujących metod w R, aby sprawdzić, czy ciąg zawiera wiele podciągów:

Metoda 1: Sprawdź, czy ciąg zawiera jeden z kilku podciągów

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

Ta konkretna składnia sprawdza, czy każdy ciąg w kolumnie zespołu zawiera jeden z ciągów określonych w wektorze ciągu o nazwie find_strings .

Metoda 2: Sprawdź, czy ciąg zawiera wiele podciągów

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

Ta konkretna składnia sprawdza, czy każdy ciąg w kolumnie zespołu zawiera wszystkie ciągi określone w wektorze ciągu zwanym find_strings .

Poniższe przykłady pokazują, jak w praktyce wykorzystać każdą metodę z następującą ramką danych w 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

Przykład 1: Sprawdź, czy ciąg zawiera jeden z kilku podciągów

Możemy użyć następującej składni, aby sprawdzić, czy każdy ciąg w kolumnie zespołu zawiera podciąg „Dobry” lub „Jest”:

 #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

Nowa kolumna good_or_east zwraca następujące wartości:

  • PRAWDA , jeśli zespół zawiera „Dobry” lub „Jest”
  • FAŁSZ , jeśli w drużynie nie ma ani „Dobrego”, ani „Wschodniego”

Przykład 2 : Sprawdź, czy ciąg zawiera wiele podciągów

Możemy użyć następującej składni, aby sprawdzić, czy każdy ciąg w kolumnie zespołu zawiera podciąg „Dobry” i „Jest”:

 #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

Nowa kolumna good_and_east zwraca następujące wartości:

  • PRAWDA , jeśli zespół zawiera „Dobry” i „Jest”
  • FAŁSZ , jeśli zespół nie zawiera „Dobry” i „Jest”

Należy pamiętać, że zwracana jest tylko jedna wartość TRUE , ponieważ istnieje tylko jedna nazwa zespołu zawierająca podciąg „Dobry” i „Wschód”.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Odp.: Jak sprawdzić, czy znak znajduje się w ciągu znaków
Odp.: Jak usunąć spacje z ciągów znaków
Odp.: Jak wyodrębnić ciąg znaków pomiędzy określonymi znakami

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *