首页 > 解决方案 > 从一列中使用 R 中的 difftime

问题描述

您好,您能帮我解决一列中 R 的(小时)差异。我只使用基本包 R。我想用小时创建新列,所以列看起来像

hours<-c(0,24,23,21,31,26,28)

time<-c('10. 4. 2018 10:16:11', 
'11. 4. 2018 10:16:15', 
'12. 4. 2018 10:13:31',
'13. 4. 2018 8:16:31', 
'14. 4. 2018 15:16:21',
'15. 4. 2018 17:16:31', 
'16. 4. 2018 19:15:31')

我有一个列(时间),我想创建新列(小时)

谢谢

标签: rdifferencedifftime

解决方案


加强Sotos 的方法

c(0, round(diff(as.POSIXct(time, format = '%d. %m. %Y %H:%M:%S'), units = "hours")))

接近 OP 的预期结果

[1]  0 24 24 22 31 26 26

数据

time <- c(
  '10. 4. 2018 10:16:11',
  '11. 4. 2018 10:16:15',
  '12. 4. 2018 10:13:31',
  '13. 4. 2018 8:16:31',
  '14. 4. 2018 15:16:21',
  '15. 4. 2018 17:16:31',
  '16. 4. 2018 19:15:31'
)

推荐阅读