rstringsplitdata-management

How to split a string after the nth character in r


I am working with the following data:

District <- c("AR01", "AZ03", "AZ05", "AZ08", "CA01", "CA05", "CA11", "CA16", "CA18", "CA21")

I want to split the string after the second character and put them into two columns.

So that the data looks like this:

state  district
AR        01
AZ        03
AZ        05
AZ        08
CA        01
CA        05
CA        11
CA        16
CA        18
CA        21

Is there a simple code to get this done? Thanks so much for you help


Solution

  • You can use substr if you always want to split by the second character.

    District <- c("AR01", "AZ03", "AZ05", "AZ08", "CA01", "CA05", "CA11", "CA16", "CA18", "CA21")
    #split district  starting at the first and ending at the second
    state <- substr(District,1,2)
    #split district starting at the 3rd and ending at the 4th
    district <- substr(District,3,4)
    #put in data frame if needed.
    st_dt <- data.frame(state = state, district = district, stringsAsFactors = FALSE)