将时间列(作为 Excel 中的字符小数)转换为 R 中的时间

Convert column of time (as character decimals from Excel) to time in R

我正在尝试将 R 已转换为 decimal/character 字符串的一列时间(我从 Excel 导入)转换回 hh:mm:ss 时间。我已经看到很多好的答案(例如使用库 chron),但我不断收到这些错误:

 My data:
 > head(env$Time, 10)
     [1] "0.41736111111111113" "0.6020833333333333"  "0.45"                "0.47222222222222227" "0.5131944444444444" 
     [6] "0.51250000000000007" "0.47361111111111115" "0.44791666666666669" "0.35138888888888892" "0.45277777777777778"

    times(env$Time)
        Error in convert.times(times., fmt) : format h:m:s may be incorrect
        In addition: Warning message:
        In unpaste(times, sep = fmt$sep, fnames = fmt$periods, nfields = 3) :
          8173 entries set to NA due to wrong number of fields
        
    chron(times(env$Time))
        Error in convert.times(times., fmt) : format h:m:s may be incorrect
        In addition: Warning message:
        In unpaste(times, sep = fmt$sep, fnames = fmt$periods, nfields = 3) :
          8173 entries set to NA due to wrong number of fields
        
    strptime(env$Time, format = "%H:%M:%S")
        [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
        [38] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

在这里找到了这个答案:

x <- as.numeric(env$Time) # Store time variable as numeric vector
env$Time2 <- sub(":00$", "", round(times(x), "min")) # Run this code to save as new column in dataframe (note, don't need to divide by 24 if decimal is fraction of a day like my data is