Как использовать 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.