📜  将日期时间列拆分为 R 中的日期和时间变量(1)

📅  最后修改于: 2023-12-03 14:53:53.261000             🧑  作者: Mango

将日期时间列拆分为 R 中的日期和时间变量

当使用 R 时,我们经常需要把日期和时间分开来处理。具体而言,我们需要把包含日期和时间的字符串列拆成两个变量:日期和时间。在本文中,我们将介绍在 R 中如何将日期时间列拆分为日期和时间变量。

示例数据

在本文中,我们将使用下面的示例数据:

timestamp <- c("2019-01-01 12:30:45", "2019-01-02 13:45:30", "2019-01-03 08:15:00", "2019-01-04 19:30:15")

我们将使用该变量作为我们操作的例子,它包含了带有日期和时间的字符串。

方法

如上所述,我们需要把包含日期和时间的字符串分成两个变量:日期和时间。我们可以使用 R 中的 lubridate 包来完成这个任务。lubridate 包提供了一组强大的函数,用于处理日期和时间。

首先,我们将使用 lubridate 包中的 ymd_hms() 函数将字符串列转换为日期和时间数据。ymd_hms() 函数可以解析带有日期和时间的字符串,并将其转换为 R 的日期和时间格式。

library(lubridate)

datetime <- ymd_hms(timestamp)

在上面的代码中,我们首先加载了 lubridate 包,然后使用 ymd_hms() 函数将字符串变量转换为日期和时间格式的变量。请注意,我们将新生成的变量命名为 datetime

现在,我们已经将字符串列转换为日期时间格式的变量。接下来,我们需要将其分成两个变量:日期和时间。

date <- as.Date(datetime)
time <- format(datetime, "%H:%M:%S")

在上面的代码中,我们首先使用 as.Date() 函数将 datetime 变量转换为日期格式的变量,并将其存储在一个名为 date 的新变量中。接下来,我们使用 format() 函数将 datetime 变量转换为时间格式的变量,并将其存储在一个名为 time 的新变量中。请注意,我们使用了 "%H:%M:%S" 格式字符串来定义输出的时间格式。

现在,我们已经将日期和时间拆分成了两个变量。

结论

在本文中,我们介绍了在 R 中将日期时间列拆分为日期和时间变量的方法。我们使用 lubridate 包中的函数将字符串变量转换为日期时间格式的变量,并将其分成两个变量:日期和时间。我们希望这篇文章能够帮助到您在处理日期和时间数据时更加高效。