在R中处理时间的最佳实践是什么?
我正在使用一个调查数据集。它有两个字符串在R中处理时间的最佳实践是什么?,r,datetime,R,Datetime,我正在使用一个调查数据集。它有两个字符串向量,开始和结束,分别表示一天中面试开始和结束的时间 它们是字符字符串,看起来像:“上午9:24”,“下午12:35”,等等。我正试图根据这两个因素来计算面试的持续时间。这样做的最佳方式是什么 我知道,对于日期,有很多classe或函数像as.date(),as.date(),chron(),或as.POSIXct()。因此,我正在查找类似于as.time()的内容,但找不到它。我是否应该添加一个虚构的日期,并将整个内容转换为POSIX()date-tim
向量
,开始
和结束
,分别表示一天中面试开始和结束的时间
它们是字符
字符串,看起来像:“上午9:24”
,“下午12:35”
,等等。我正试图根据这两个因素来计算面试的持续时间。这样做的最佳方式是什么
我知道,对于日期,有很多classe
或函数
像as.date()
,as.date()
,chron()
,或as.POSIXct()
。因此,我正在查找类似于as.time()
的内容,但找不到它。我是否应该添加一个虚构的日期,并将整个内容转换为POSIX()
date-timeclass
,然后使用difftime()
在
R
中处理时间的最佳实践是什么?一个选项是使用正则表达式。如果您不熟悉它们,可以使用它们使用模式解析字符串。我会研究正则表达式,然后
希望对您有所帮助您需要使用
strtime()
将字符串转换为日期。例如:
strptime("9:24 am",format="%I:%M %p")
然后,您只需将其中一个从另一个中移除,即可消除差异:
strptime("9:24 am",format="%I:%M %p")-strptime("12:14 am",format="%I:%M %p")
Time difference of 9.166667 hours
如果您只想输出数字,可以将其存储,然后以.numeric()的形式执行,
,否则可以传递时间对象
希望这有帮助 最佳实践是使用lubridate软件包 然后在上面创建的日期-时间格式中使用difftime作为差异
hm(c("09:10", "09:02", "1:10"))
## [1] "9H 10M 0S" "9H 2M 0S" "1H 10M 0S
difftime(time1, time2, tz,
units = c("auto", "secs", "mins", "hours",
"days", "weeks"))