我有一个包含 3 列的数据框,包括分钟和小时。
我想将这些列(即分钟和列)转换为时间格式。鉴于 drame
中的数据:
Score Hour Min
10 10 56
23 17 01
我想得到:
Score Time
10 10:56:00
23 17:01:00
最佳答案
您可以使用 ISOdatetime
转换 hour
中的数字和 min
到 POSIXct
目的。但是,POSIXct 对象仅在它还包括年、月和日时才被定义。所以根据你的需要可以做几件事:
ISOdatetime
. ISOdatetime
返回一个所谓的 POSIXct
对象,这是一个代表时间的R对象。然后在 ISOdatetime
您只需为 year
使用固定值, month
, 和 day
.这当然仅适用于您的数据集不跨越多年的情况。 Time
,您可以转换 POSIXct
使用 strftime
输出到字符串.通过设置 format
论据 "%H:%M:00"
.但是,在这种情况下,您也可以使用 sprintf
创建新字符列而不转换为 POSIXct
:sprintf("%s:%s:00", drame$Hour, drame$Min)
. 关于r - 将数据框中的小时、分钟列转换为时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10089142/