Remove Leading and Trailing Zeros in R (5 Examples)
In this R tutorial you’ll learn how to delete zeros at the beginning and at the end of a value.
The tutorial consists of the following content:
Let’s dive into it…
Creation of Exemplifying Data
I’ll use the following data as basement for this R programming language tutorial:
my_values <- c("000123", "055", "01010", "22200") # Create example data my_values # Print example data # [1] "000123" "055" "01010" "22200"
The previous output of the RStudio console illustrates the structure of our example data: It’s a vector containing several character strings. Each character string is a number with leading and/or trailing zeros.
Example 1: Delete Leading Zeros Using sub() Function
In this example, I’ll illustrate how to avoid leading zeros using the sub function in R:
my_values_new1 <- sub("^0+", "", my_values) # Apply sub function my_values_new1 # Print updated data # [1] "123" "55" "1010" "22200"
Have a look at the previous output of the RStudio console: It shows our vector of character strings without zeros at the start.
Example 2: Delete Leading Zeros Using str_remove() Function of stringr Package
In Example 2, I’ll show how to apply the str_remove function of the stringr package to delete leading zeros in R.
In case we want to use the functions of the stringr package, we first need to install and load stringr to RStudio:
install.packages("stringr") # Install stringr package library("stringr") # Load stringr package
Now, we can use the str_remove function to extract all zeros at the front of our data:
my_values_new2 <- str_remove(my_values, "^0+") # Apply str_remove function my_values_new2 # Print updated data # [1] "123" "55" "1010" "22200"
The output is exactly the same as in Example 1.
Example 3: Delete Leading Zeros & Convert Values to Numeric Using as.numeric() Function
The following R programming syntax shows how to get rid of leading zeros using the as.numeric function in R.
my_values_new3 <- as.numeric(my_values) # Apply as.numeric function my_values_new3 # Print updated data # [1] 123 55 1010 22200
The numbers shown in the previous RStudio console output are the same as in the previous examples.
However, please note that the data class was converted from character to numeric.
Example 4: Delete Trailing Zeros Using sub() Function
In this example, I’ll explain how to remove trailing zeros from our data using the sub function:
my_values_new4 <- sub("0+$", "", my_values) # Apply sub function my_values_new4 # Print updated data # [1] "000123" "055" "0101" "222"
This time, the zeros at the beginning of our character strings have been kept, but the zeros at the end of the character strings were deleted.
Example 5: Delete Trailing Zeros Using str_remove() Function of stringr Package
We can also use the str_remove function of the stringr package to remove trailing zeros:
my_values_new5 <- str_remove(my_values, "0+$") # Apply str_remove function my_values_new5 # Print updated data # [1] "000123" "055" "0101" "222"
Looks good!
Video & Further Resources
Do you need further information on the R programming code of the present tutorial? Then you might want to watch the following video of my YouTube channel. I’m illustrating the content of the present article in the video:
Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
In addition to the video, you might want to read some of the related tutorials of my homepage. I have released numerous articles about data manipulation already.
- Extract First or Last n Characters from String
- Add Leading Zeros in R
- Trim Leading and Trailing Whitespace(Example for trimws Function)
- R Programming Language
This tutorial illustrated how to remove one or multiple zeros at the beginning and at the end of a character string in R programming. Please let me know in the comments, in case you have any additional comments and/or questions.
Statistics Globe Newsletter
2 Comments. Leave new
Is it possible to remove leading zeros from a character column in a data frame? None of these methods are working in this instance.
Thanks,
Dan
Hey Daniel,
Yes, this is possible. You may use the $ operator to extract the data of a certain column. For example: data$x <- sub("^0+", "", data$x) Regards, Joachim