将时间 1:23 的数字 123 转换为毫秒

肯·莱斯利

我正在将 Excel 电子表格读入数据框中。时间编码为没有标点符号的数字,因此 123 表示 1:23(1 分 23 秒),23 表示 23 秒,524 表示 5:24 等。

所以,这个数字是数据框中的一列。我想计算一个将这些数字转换为毫秒的新列。我尝试了很多不同的东西,例如,这个功能:

# function to convert time into msecseconds
toMSec <- function(x){
a = as.numeric(str_sub(as.character(x), -2, -1))*1000
b = as.numeric(str_sub(as.character(x), -4, -3))*1000*60
if (any(is.na(b))){ b = 0}
y = a+b

# return the correct number of msec
return(y)

}

但是函数的 b 部分失败了,我只得到了秒部分的答案。我似乎遇到了需要矢量化答案的问题,因此我可以将该函数应用于整列数字。

如果我得到您所要求的正确信息:

toMSec<- function(x) (x%/%100*60+x%%100)*1000

解释:toMSec取数字 mmss,使用 %/%(商)得到分钟,乘以 60 得到秒,然后加上余数(%% - modulo)得到秒。整个事情乘以 1000 得到毫秒。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数字变量转换为毫秒时间格式

来自分类Dev

将日期时间转换为时间戳毫秒加上 +1 个月

来自分类Dev

将时间转换为毫秒?

来自分类Dev

将时间转换为毫秒

来自分类Dev

将时间转换为毫秒

来自分类Dev

将条件转换为数字 0 1

来自分类Dev

在PHP中将数字(0-23)转换为时间(AM / PM)格式

来自分类Dev

将数字转换为时间

来自分类Dev

将时间戳转换为数字格式

来自分类Dev

将文本变量转换为数字时间

来自分类Dev

插入将时间戳转换为数字

来自分类Dev

如何将时间转换为数字?

来自分类Dev

将char转换为int'23'> 23

来自分类Dev

将ical时间转换为毫秒

来自分类Dev

Haskell将时间毫秒转换为UTCTime

来自分类Dev

将时间戳转换为毫秒

来自分类Dev

将ISO日期时间转换为毫秒

来自分类Dev

将系统数据时间转换为毫秒

来自分类Dev

将日期时间对象转换为毫秒

来自分类Dev

将时间戳转换为毫秒

来自分类Dev

将时间从数字转换为R中的时间格式

来自分类Dev

将整数字段日期时间转换为日期时间

来自分类Dev

将 pdf 转换为 png 并以数字 1 开头

来自分类Dev

将毫秒转换为年

来自分类Dev

将毫秒时间戳转换为以前的时间戳

来自分类Dev

将纪元时间戳转换为不带毫秒的日期时间?

来自分类Dev

硒| 通过使用范围(1,23)将数字从1移到22进行打印

来自分类Dev

R:如何将字符/数字转换为1,将NA转换为0?

来自分类Dev

将SAS数字日期转换为日期时间格式