When you are working with large datasets, you often come across names that are in inconsistent formats or capitalization. To solve this problem, we need to standardize the format to improve data quality and consistency. One way to standardize is by converting the first letter of each word to uppercase.
The most efficient way to convert the first letter of every word to uppercase in R is by using the “str_to_title()” function from the “stringr” package. It accepts a string as an argument and returns it with each first letter of every word turned into uppercase.
Below is the figure that describes what I mean:
Here is the step-by-step guide:
Step 1: Load the stringr package
The str_to_title() function is not a base R function, and it is a function from the “stringr” package.
library(stringr)
Step 2: Define a string you want to convert
In this step, you must define a string whose letter you want to convert.
main_string <- "i met doctor yesterday!"
Step 3: Use the str_to_title() function
Pass the main_string to the str_to_title() function.
converted_str <- str_to_title(main_string)
Our final code looks like this:
library(stringr)
main_string <- "i met doctor yesterday!"
converted_str <- str_to_title(main_string)
print(converted_str) # I Met Doctor Yesterday!
String with mixed case
Let’s take an example of a string with a mixed case.
library(stringr)
main_string <- "i MeT doCTor yesTerdaY!"
converted_str <- str_to_title(main_string)
print(converted_str) # I Met Doctor Yesterday!
You can see that the function converts any existing uppercase letters within words to lowercase before capitalizing the first letter.
String with numbers and symbols
Let’s take a complex string that contains letters, numbers, and symbols and see the outcome.
library(stringr)
complex_string <- "123 @xFRDW c22() m**&"
converted_str <- str_to_title(complex_string)
print(converted_str) # 123 @Xfrdw C22() M**&
You can see from the above program that it doesn’t modify numbers or symbols within the string.
Vector of strings
If you want to convert multiple strings at once, you can create a vector of it and pass it to the str_to_title() function.
library(stringr)
vec <- c("first string", "second string", "third string")
converted_vec <- str_to_title(vec)
print(converted_vec) # "First String" "Second String" "Third String"
That’s all!
Krunal Lathiya is a seasoned Computer Science expert with over eight years in the tech industry. He boasts deep knowledge in Data Science and Machine Learning. Versed in Python, JavaScript, PHP, R, and Golang. Skilled in frameworks like Angular and React and platforms such as Node.js. His expertise spans both front-end and back-end development. His proficiency in the Python language stands as a testament to his versatility and commitment to the craft.