首页 > 解决方案 > 将数据帧转换为动物园时间序列构造,其中 chron 日期时间对象为月/日/年 hr:min:sec (即 01/15/19 00:06:00) 在 r 中?

问题描述

嗨,我正在尝试使用 R 中的“StreamMetabolism”包来计算流代谢(https://cran.rproject.org/web/packages/StreamMetabolism/StreamMetabolism.pdf)。为了运行代码,日期需要是以我正在努力创建的特定格式。

我有以下格式的 csv 文件:

structure(list(DateTime = structure(1:18, .Label = c("(01/15/2019 00:06:00)", 
"(01/15/2019 00:21:00)", "(01/15/2019 00:36:00)", "(01/15/2019 00:51:00)", 
"(01/15/2019 01:06:00)", "(01/15/2019 01:21:00)", "(01/15/2019 01:36:00)", 
"(01/15/2019 01:51:00)", "(01/15/2019 02:06:00)", "(01/15/2019 02:21:00)", 
"(01/15/2019 02:36:00)", "(01/15/2019 02:51:00)", "(01/15/2019 03:06:00)", 
"(01/15/2019 03:21:00)", "(01/15/2019 03:36:00)", "(01/15/2019 03:51:00)", 
"(01/15/2019 04:06:00)", "(01/15/2019 04:21:00)"), class = "factor"), 
Temp = c(16.947, 16.862, 16.752, 16.735, 16.65, 16.608, 16.523, 
16.455, 16.412, 16.361, 16.293, 16.25, 16.267, 16.216, 16.148, 
16.114, 16.054, 16.046), DO = c(8.45, 8.429, 8.425, 8.379, 
8.38, 8.358, 8.354, 8.344, 8.334, 8.323, 8.329, 8.314, 8.291, 
8.29, 8.298, 8.29, 8.296, 8.289)), .Names = c("DateTime", 
"Temp", "DO"), class = "data.frame", row.names = c(NA, -18L))
我想将上述数据转换为时间序列格式(月/日/年 hr:min:sec,即 01/15/19 00:06:00),输出应如下所示:

    Temp    DO
(01/15/2019 00:06:00)   16.947  8.45
(01/15/2019 00:21:00)   16.862  8.429
(01/15/2019 00:36:00)   16.752  8.425
(01/15/2019 00:51:00)   16.735  8.379
(01/15/2019 01:06:00)   16.65   8.38
(01/15/2019 01:21:00)   16.608  8.358
(01/15/2019 01:36:00)   16.523  8.354
(01/15/2019 01:51:00)   16.455  8.344
(01/15/2019 02:06:00)   16.412  8.334

有人能帮忙吗?

标签: r

解决方案


如果您的目标是修改DateTime列而不创建新列,则可以尝试以下操作:

df$DateTime <- strptime(df$DateTime, "%m/%d/%Y %H:%M:%S")

df您正在使用的数据框的名称在哪里)

strptime函数为所有日期提供格式%m/%d/%Y %H:%M:%S


推荐阅读