A: проверьте, содержит ли строка несколько подстрок.


Вы можете использовать следующие методы в R, чтобы проверить, содержит ли строка несколько подстрок:

Способ 1. Проверьте, содержит ли строка одну из нескольких подстрок.

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

Этот конкретный синтаксис проверяет, содержит ли каждая строка в столбце команды одну из строк, указанных в векторе строк с именем find_strings .

Способ 2: проверьте, содержит ли строка несколько подстрок

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

Этот конкретный синтаксис проверяет, содержит ли каждая строка в столбце команды все строки, указанные в векторе строк, называемом find_strings .

В следующих примерах показано, как использовать каждый метод на практике со следующим фреймом данных в 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

Пример 1. Проверьте, содержит ли строка одну из нескольких подстрок.

Мы можем использовать следующий синтаксис, чтобы проверить, содержит ли каждая строка в столбце команды подстроку «Хорошо» или «Есть»:

 #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

Новый столбец Good_or_east возвращает следующие значения:

  • ИСТИНА , если команда содержит «Хорошо» или «Есть»
  • ЛОЖЬ , если в команде нет ни «Хорошо», ни «Восток».

Пример 2. Проверьте, содержит ли строка несколько подстрок.

Мы можем использовать следующий синтаксис, чтобы проверить, содержит ли каждая строка в столбце команды подстроку «Хорошо» и «Есть»:

 #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

Новый столбец Good_and_east возвращает следующие значения:

  • ИСТИНА , если команда содержит «Хорошо» и «Есть»
  • ЛОЖЬ , если команда не содержит «Хорошо» и «Есть»

Обратите внимание, что возвращается только одно значение TRUE , поскольку существует только одно название команды, содержащее подстроку «Good» и подстроку «Восток».

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

A: Как проверить, находится ли символ в строке
A: Как удалить пробелы из строк
A: Как извлечь строку между определенными символами

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *