Поиск по сайту:

Как использовать sub() и gsub() в R


Введение

Функции sub() и gsub() в R заменят строку или символы в векторе или фрейме данных определенной строкой. Эти функции полезны при внесении изменений в большие наборы данных.

В этой статье вы узнаете, как использовать функции sub() и gsub() в R.

Предпосылки

Для выполнения этого урока вам понадобятся:

  • R, установленный локально или на сервере.

Синтаксис sub() и gsub()

Основной синтаксис для sub():

sub(pattern, replacement, x)

Основной синтаксис для gsub():

gsub(pattern, replacement, x)

Синтаксис для sub() и gsub() требует шаблона, замены и вектора или фрейма данных:

  • шаблон: шаблон или строка, которую вы хотите заменить.
  • замена: входная строка для замены строки шаблона.
  • x: вектор или фрейм данных для замены строк.

Шаблон также может быть в виде регулярного выражения (regex).

Теперь, когда вы знакомы с синтаксисом, можно переходить к реализации.

Функция sub() в R

Функция sub() в R заменяет строку в векторе или фрейме данных входными данными или указанной строкой.

Однако ограничение функции sub() заключается в том, что она заменяет только первое вхождение.

1. Использование функции sub()

В этом примере вы узнаете, как заменить строковый шаблон замещающей строкой с помощью функции sub().

# the input vector 
df<-"R is an open-source programming language widely used for data analysis and statistical computing."

# the replacement
sub('R','The R language',df)

Запуск этой команды генерирует следующий вывод:

Output
"The R language is an open-source programming language widely used for data analysis and statistical computing."

Функция sub() заменяет строку R в векторе строкой Язык R.

В этом примере было одно совпадение с образцом. Подумайте, что произойдет, если есть несколько совпадений с образцом.

# the input vector
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

# the replacement
sub('R','The R language',df)

Запуск этой команды генерирует следующий вывод:

"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

В этом примере вы можете заметить, что функция sub() заменила первое вхождение строки R на Язык R. Но следующее вхождение в строку остается прежним.

2. Использование функции sub() с фреймом данных

Функция sub() также работает с фреймами данных.

# creating a data frame
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

# data frame
df

Это создаст следующий фрейм данных:

      Creature Population
1     Starfish          5
2    Blue Crab          6
3 Bluefin Tuna          4
4   Blue Shark          2
5   Blue Whale          2

Затем замените символы Синий на символы Зеленый:

# substituting the values
sub('Blue','Green',df)

Запуск этой команды генерирует следующий вывод:

Output
"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")" "c(5, 6, 4, 2, 2)"

Вы также можете указать конкретный столбец, чтобы заменить все вхождения Blue на Green:

# substituting the values
sub('Blue','Green',df$Creature)

Запуск этой команды генерирует следующий вывод:

Output
"Starfish" "Green Crab" "Greenfin Tuna" "Green Shark" "Green Whale"

Все экземпляры символов Синий заменены на Зеленый.

Функция gsub() в R

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

В отличие от функции sub(), gsub() применяет глобальную замену ко всем совпадениям.

1. Использование функции gsub()

В этом примере показано, как заменить строковый шаблон замещающей строкой с помощью функции gsub().

# the input vector
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

Это данные, которые R записывались несколько раз.

# substituting the values using gsub()
gsub('R','The R language',df)
Output
"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive The R language Archive Network (CThe R languageAN)."

Все экземпляры «R» были заменены (включая экземпляры в «Comprehensive R Archive Network» и «CRAN»). Функция gsub() находит каждое слово, соответствующее параметру, и заменяет его входным словом или значениями.

2. Использование функции gsub() с фреймами данных

Функция gsub() также работает с фреймами данных.

# creating a data frame
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

Давайте добавим к значениям в столбце Creature префикс Deep Sea :

# substituting the values
gsub('.*^','Deep Sea ',df$Creature)

Запуск этой команды генерирует следующий вывод:

Output
"Deep Sea Starfish" "Deep Sea Blue Crab" "Deep Sea Bluefin Tuna" "Deep Sea Blue Shark" "Deep Sea Blue Whale"

В этом примере функция gsub() использует регулярное выражение (regex): .*^. Это шаблон для позиции в начале строки.

Заключение

В этой статье вы узнали, как использовать функции sub() и gsub() в R. Эти функции заменяют строку или символы в векторе или фрейме данных с помощью конкретная строка. Функция sub() применяется к первому совпадению. Функция gsub() применяется ко всем совпадениям.

Продолжите изучение с использованием replace() в R.