Введение
Функции sub()
и gsub()
в R заменяют строку или символы в векторе или фрейме данных на определенную строку. Эти функции полезны при внесении изменений в большие наборы данных.
В этой статье вы узнаете, как использовать функции sub()
и gsub()
в R.
Предварительные требования
Для завершения этого руководства вам понадобится:
- R installed locally or on a server.
Синтаксис sub()
и gsub()
Базовый синтаксис sub()
выглядит так:
sub(pattern, replacement, x)
Базовый синтаксис gsub()
выглядит так:
gsub(pattern, replacement, x)
Синтаксис sub()
и gsub()
включает в себя шаблон, замену и вектор или фрейм данных:
- шаблон: Шаблон или строка, которую вы хотите заменить.
- замена: Строка для замены шаблона.
- x: A vector or a data frame to substitute the strings.
Шаблон может быть также в форме регулярного выражения (regex).
Теперь, когда вы знакомы с синтаксисом, вы можете перейти к реализации.
Функция sub()
в R
Функция sub()
в R заменяет строку в векторе или фрейме данных вводом или указанной строкой.
Однако ограничение функции sub()
заключается в том, что она заменяет только первое вхождение.
1. Использование функции sub()
В этом примере вы узнаете, как заменить строковый шаблон на строку замены с помощью функции sub()
.
# входной вектор
df<-"R is an open-source programming language widely used for data analysis and statistical computing."
# замена
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'
в векторе строкой 'The R language'
.
В этом примере было обнаружено только одно совпадение шаблона. Подумайте, что произойдет, если есть несколько совпадений шаблонов.
# входной вектор
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
# замена
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'
на 'The R language'
. Но следующее вхождение в строке остается неизменным.
2. Использование функции sub()
с фреймом данных
Функция sub()
также работает с фреймами данных.
# создание фрейма данных
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
# фрейм данных
df
Это создаст следующий фрейм данных:
Creature Population
1 Starfish 5
2 Blue Crab 6
3 Bluefin Tuna 4
4 Blue Shark 2
5 Blue Whale 2
Затем замените символы 'Blue'
на символы 'Green'
:
# замена значений
sub('Blue','Green',df)
Запуск этой команды генерирует следующий вывод:
Output"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")"
"c(5, 6, 4, 2, 2)"
Вы также можете указать конкретный столбец, чтобы заменить все вхождения 'Blue'
на 'Green'
:
# замена значений
sub('Blue','Green',df$Creature)
Запуск этой команды генерирует следующий вывод:
Output"Starfish"
"Green Crab"
"Greenfin Tuna"
"Green Shark"
"Green Whale"
Все вхождения символов 'Blue'
были заменены на 'Green'
.
Функция gsub()
в R
Функция gsub()
в R используется для операций замены. Функция принимает входные данные и заменяет их на указанные значения.
В отличие от функции sub()
, gsub()
применяет глобальную замену ко всем совпадениям.
1. Использование функции gsub()
В этом примере вы узнаете, как заменить строковый шаблон строкой замены с использованием функции gsub()
.
# входной вектор
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
Это данные, в которых множество раз написано 'R'
.
# замена значений с использованием 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()
также работает с данными в виде таблицы.
# создание таблицы данных
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
Добавим префикс к значениям в столбце Creature
с использованием 'Deep Sea '
:
# замена значений
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.
Source:
https://www.digitalocean.com/community/tutorials/sub-and-gsub-function-r