How can separate one column in two column in R?

             id        rs143        rs148       rs149      rs1490 
     1    02003s         NA          11          22          11    
     2    02003s         NA          10          11          22   
     3    02003s         NA          11          11          12   
     4    02003s         NA          10          11          11 
     5    02003s         NA          10          11          11  

     in result i want this format:

                id     rs143  rs143.1 rs148 rs148.1  rs149  rs149.1  rs1490   rs1490.1
         1    02003s    NA    NA        1     1       2       2       1        1
         2    02003s    NA    NA        1     0       1       1       2        2
         3    02003s    NA    NA        1     1       1       1       1        2
         4    02003s    NA    NA        1     0       1       1       1        1
         5    02003s    NA    NA        1     0       1       1       1        1


A bit simpler version of Kevin's answer, loop through columns, split, assign column names, and finally bind them back together.

    res <-  do.call(cbind,
                    list(df[, 1, drop = FALSE],
                         lapply(colnames(df[, -1]), function(i){
                           as.data.frame(list(substring(df[, i], 1, 1),
                                              substring(df[, i], 2, 2)),
                                         col.names = c(i, i))
                           })
                         )
                    )
    
    res
    
    #       id rs143 rs143.1 rs148 rs148.1 rs149 rs149.1 rs1490 rs1490.1
    # 1 02003s  <NA>    <NA>     1       1     2       2      1        1
    # 2 02003s  <NA>    <NA>     1       0     1       1      2        2
    # 3 02003s  <NA>    <NA>     1       1     1       1      1        2
    # 4 02003s  <NA>    <NA>     1       0     1       1      1        1
    # 5 02003s  <NA>    <NA>     1       0     1       1      1        1

