我有一个数据帧,其中日期-时间列以4小时为间隔.当时间分量应为00:00:00(小时:分钟:秒)时,日期中缺少时间.如果没有时间,我怎么能在日期上加上00:00:00呢?

示例数据

dat <- data.frame(
  dateTime = c('2016-07-01',
               '2016-07-01 04:00:00',
               '2016-07-01 08:00:00',
               '2016-07-01 12:00:00',
               '2016-07-01 16:00:00',
               '2016-07-01 20:00:00',
               '2016-07-02')
)

str(dat)
#> 'data.frame':    7 obs. of  1 variable:
#>  $ dateTime: chr  "2016-07-01" "2016-07-01 04:00:00" "2016-07-01 08:00:00" "2016-07-01 12:00:00" ...

dat
#>              dateTime
#> 1          2016-07-01
#> 2 2016-07-01 04:00:00
#> 3 2016-07-01 08:00:00
#> 4 2016-07-01 12:00:00
#> 5 2016-07-01 16:00:00
#> 6 2016-07-01 20:00:00
#> 7          2016-07-02

我可以在下面使用它,但是,我的实际数据集缺少行,所以我正在寻找一种替代方案,在没有时间的情况下可以添加00:00:00.

library(tidyverse)

dat <- dat %>%
  mutate(dateTime_cor = seq(from = as.POSIXct("2016-07-01 00:00:00"),
                            to = as.POSIXct("2016-07-02 00:00:00"),
                            by = "4 hours")) %>%
  select(-dateTime)

str(dat)
#> 'data.frame':    7 obs. of  1 variable:
#>  $ dateTime_cor: POSIXct, format: "2016-07-01 00:00:00" "2016-07-01 04:00:00" ...

dat
#>          dateTime_cor
#> 1 2016-07-01 00:00:00
#> 2 2016-07-01 04:00:00
#> 3 2016-07-01 08:00:00
#> 4 2016-07-01 12:00:00
#> 5 2016-07-01 16:00:00
#> 6 2016-07-01 20:00:00
#> 7 2016-07-02 00:00:00

创建于2024-01-16年第reprex v2.0.2

推荐答案

你可以用lubridate::as_datetime:

dat |> 
  transform(dateTime = lubridate::as_datetime(dateTime))

#>              dateTime
#> 1 2016-07-01 00:00:00
#> 2 2016-07-01 04:00:00
#> 3 2016-07-01 08:00:00
#> 4 2016-07-01 12:00:00
#> 5 2016-07-01 16:00:00
#> 6 2016-07-01 20:00:00
#> 7 2016-07-02 00:00:00

R相关问答推荐

混淆矩阵,其中每列和等于1

使用lapply的重新定位功能

在通过最大似然估计将ODE模型与数据匹配时,为什么要匹配实际参数的转换值?

如何使用rmarkdown和kableExtra删除包含折叠行的表的第一列的名称

矩阵%*%矩阵中的错误:需要数字/复杂矩阵/向量参数

R—将各种CSV数字列转换为日期

在嵌套列表中查找元素路径的最佳方法

如何读取CSV的特定列时,给定标题作为向量

如何在R库GoogleDrive中完全删除预先授权的Google帐户?

以字符格式导入的ExcelElectron 表格日期列标题

如何使这些react 表对象相互独立?

从R中发出的咕噜声中的BUG?

正则表达式在第二个管道和第二个T之后拆分R中的列

在R中的数据框上使用Apply()函数时,如何保留非数字列?

减少雨云面之间的间距并绘制所有统计数据点

如何在条形图中的x和填充变量中包含多个响应变量?

如何在Quarto中使用美人鱼图表中的标记来加粗文本

Data.table::Shift type=允许扩展数据(&Q;LAG&Q;)

如何在矩阵图中按标准对数据进行分组以绘制矩阵

使用nls()函数的非线性模型的半正态图