Как использовать функцию gsub() в R (с примерами)


Функцию gsub() в R можно использовать для замены всех вхождений определенного текста в строке в R.

Эта функция использует следующий базовый синтаксис:

gsub(pattern, replacement, x) 

куда:

  • pattern : образец для поиска
  • замена : замена шаблона
  • x : строка для поиска

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1: заменить текст в строке

Следующий код показывает, как заменить определенный фрагмент текста в строке:

#define string
x <- " This is a fun sentence "

#replace 'fun' with 'great'
x <- gsub('fun', 'great', x)

#view updated string
x

[1] "This is a great sentence"

Пример 2. Замена одиночной текстовой строки в векторе

Следующий код показывает, как заменить несколько вхождений текста в вектор:

#define vector
x <- c('Mavs', 'Mavs', 'Spurs', 'Nets', 'Spurs', 'Mavs')

#replace 'Mavs' with 'M'
x <- gsub('Mavs', 'M', x)

#view updated vector
x

[1] "M" "M" "Spurs" "Nets" "Spurs" "M"

Пример 3. Замена нескольких текстовых строк в векторе

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

#define vector
x <- c('A', 'A', 'B', 'C', 'D', 'D')

#replace 'A' or 'B' or 'C' with 'X'
x <- gsub('A|B|C', 'X', x)

#view updated string
x

[1] "X" "X" "X" "X" "D" "D"

Пример 4: Замена текста во фрейме данных

Следующий код показывает, как заменить текст во фрейме данных:

#define data frame
df <- data.frame(team=c('A', 'B', 'C', 'D'),
 conf=c('West', 'West', 'East', 'East'),
 points=c(99, 98, 92, 87),
 rebounds=c(18, 22, 26, 19))

#view data frame
df

 team conf points rebounds
1 A West 99 18
2 B West 98 22
3 C East 92 26
4 D East 87 19

#replace 'West' and 'East' with 'W' and 'E'
df$conf <- gsub('West', 'W', df$conf)
df$conf <- gsub('East', 'E', df$conf)

#view updated data frame
df

 team conf points rebounds
1 A W 99 18
2 B W 98 22
3 C E 92 26
4 D E 87 19

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

Как использовать функцию diff в R
Как использовать функцию seq в R
Как использовать функцию diff в R
Как использовать табличную функцию в R