R 编程 - 将数字转换为 MM :SS

标签 r numeric

这可能是一个愚蠢的问题,但我找不到任何关于此的信息。

我有一个代表秒的数值。如何将其转换为 MM:SS

例如

我的号码是96

用 MM:SS 表示应该是 01:36。

任何帮助表示赞赏。

最佳答案

%/% ( integer division ) 和 %% ( modulo ) 运营商是您的 friend :

x <- 96
paste(x %/% 60, x %% 60, sep = ":")

这使
> paste(x %/% 60, x %% 60, sep = ":")
[1] "1:36"

这是在一个函数中:
d2ms <- function(x) {
  paste(x %/% 60, x %% 60, sep = ":")
}

> xx <- c(120, 96, 45, 30)
> d2ms(xx)
[1] "2:0"  "1:36" "0:45" "0:30"

这表明我们需要一点帮助才能准确获得您需要的格式;见 ?sprint有关使用前导 0 等格式化数字 [作为字符] 的方法:
d2ms <- function(x) {
  sprintf("%02d:%02d", x %/%60, x %% 60)
}

> d2ms(xx)
[1] "02:00" "01:36" "00:45" "00:30"

请注意 :在上面的字符串中是一个文字,%xxy位是在接下来的两个参数中指定的值的格式,并包括要填充的零数量的格式详细信息(即用零填充,直到数字使用两位数字。)这里使用的模板是:
%[flag][width]specifier ,

我们在这里使用了:
  • 0作为标志 --- 用 0 填充s
  • 宽度为 2 , 我们要 MM 或 SS
  • 说明符是 d对于整数(也可以是 i )

  • 您是否需要它取决于您的最终用例。

    这些运算符对于此类操作非常有用;另一个示例是将度、分、秒表示法转换为空间坐标的十进制度数。

    关于R 编程 - 将数字转换为 MM :SS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33815281/

    相关文章:

    html - Rpres HTML5 演示文稿 "Save As PDF"(Google Chrome) 显示不正确

    r - 在rmarkdown循环中显示knitr的输出

    python - Python 中 isnumeric 和 isdecimal 的区别

    java - 这两个 : BigInteger. valueOf(10000) 和 BigInteger.valueOf(0010000) 有什么区别?

    c++ - 缺少包含不会在 RedHat 6 上产生编译错误

    r - `nlme` 具有交叉随机效应

    r - 同时在 dplyr 中对多列进行 Shapiro.test

    r - 根据前 5 个值汇总 R 中的多列

    c# - 将一串数字加密为一串字母数字

    mysql - 用空字符串替换非字母数字字符 MYSQL