rtimenumeric

How to convert time (mm:ss) to decimal form


I've imported a CSV file to R using RStudio where I am trying to plot points per game against minutes per game. However the minutes per game is in the format mm: ss and I'm having a hard time finding how to convert it to decimal form.


Solution

  • Given that you start with a character vector, this is relatively easy :

    minPerGame <- c("4:30","2:20","34:10")
    
    sapply(strsplit(minPerGame,":"),
      function(x) {
        x <- as.numeric(x)
        x[1]+x[2]/60
        }
    )
    

    gives

    [1]  4.500000  2.333333 34.166667
    

    Make sure you checked that you used read.csv() with the option as.is=TRUE. Otherwise you'll have to convert using as.character().