📅  最后修改于: 2023-12-03 15:08:46.433000             🧑  作者: Mango
在R中,日期通常以日期格式存储。有时,我们可能需要在日期格式的日期中删除日期,只保留时间部分。这可以通过几种不同的方法来实现。下面是一些常用的方法。
lubridate包是用于处理日期和时间数据的常用包。我们可以使用这个包中的函数来删除日期中的日期,只保留时间部分。下面是一个例子:
library(lubridate)
datetime <- ymd_hms("2019-10-01 12:34:56")
time_only <- hms(datetime)
time_only
输出:
12:34:56
在这个例子中,我们首先将日期时间字符串转换为日期时间对象,并将其存储在datetime
变量中。然后,我们可以使用hms()
函数将日期时间对象中的日期部分删除,并将结果存储在time_only
变量中。
另一种方法是使用base R中的格式化字符串来删除日期部分,只保留时间部分。下面是一个例子:
datetime <- as.POSIXct("2019-10-01 12:34:56")
time_only <- format(datetime, "%H:%M:%S")
time_only
输出:
"12:34:56"
在这个例子中,我们首先将日期时间字符串转换为POSIXct对象,并将其存储在datetime
变量中。然后,我们使用format()
函数将日期时间对象格式化为一个只包含时间的字符串,并将结果存储在time_only
变量中。
stringr包是用于字符串处理的常用包。我们可以使用这个包中的函数来操作日期字符串并删除日期部分,只保留时间部分。下面是一个例子:
library(stringr)
datetime <- "2019-10-01 12:34:56"
time_only <- str_sub(datetime, start = 12, end = 19)
time_only
输出:
"12:34:56"
在这个例子中,我们首先将日期时间字符串存储在datetime
变量中。然后,我们使用str_sub()
函数从字符串中提取时间部分,并将结果存储在time_only
变量中。
这里我们介绍了三种方法在R中删除日期的日期,只保留时间部分。这些方法包括使用lubridate包、使用base R中的格式化字符串和使用stringr包。在使用这些方法时,需要根据具体的情况选择最适合的方法。