Issue
I have a data frame as follows (part of a larger set):
for the column raw$Zipcode
I need to remove the two 00
before the Zipcode number for Swedish zipcodes (preferably through a function). I am very new to R and have found gsub
and strsplit
but can’t seem to make it work:
raw2 <- unlist(strsplit(raw$ZipCode, split="00", fixed=TRUE))[2]
The zeroes are characters as other countries in the data set have letters. How can I remove the first two zeroes in all cases of the two first character letters being zeroes in a column?
Solution
There are multiple ways of doing this:
- Using
as.numeric
on a column of your choice.
raw$Zipcode <- as.numeric(raw$Zipcode)
- If you want it to be a
character
then you can usestringr
package.
library(stringr)
raw$Zipcode <- str_replace(raw$Zipcode, "^0+" ,"")
- There is another function called
str_remove
instringr
package.
raw$Zipcode <- str_remove(raw$Zipcode, "^0+")
- You can also use
sub
from base R.
raw$Zipcode <- sub("^0+", "", raw$Zipcode)
But if you want to remove n
number of leading zeroes, replace +
with {n}
to remove them.
For instance to remove two 0’s use sub("^0{2}", "", raw$Zipcode)
.
Answered By – Vishal A.
Answer Checked By – Katrina (BugsFixing Volunteer)