我有一个包含两列,Date和Time的数据集,我想将它转换为包含日期和时间的列,例如: "2014-02-01 13:04:05"

我知道这样做的代码是:

as.POSIXct(paste(data$Date, data$Time),format="%Y-%m-%d %H:%M:%S")

由于数据集中存在问题,这会返回许多正确的值,但也会返回NA。 我的问题在于我的数据集,它将data$Time视为因子,时间范围从02:00:00 - 25:59:00

所以我想要的是切断data$Time所以如果它超过24:00:00它会在日期增加另一天并显示正确的时间。

例如: "2014-01-31 25:30:00"将成为"2014-02-01 01:30:00"

#1楼 票数:1 已采纳

使用hms从lubridate:

library(lubridate)
x <- "2014-01-31 25:30:00" # input

as.Date(x) + hms(sub(".* ", "", x))

赠送:

[1] "2014-02-01 01:30:00 UTC"

#2楼 票数:0

如果范围从2:00到25:59,则意味着距离00:00 - 23:59的范围有2小时的差异......那你为什么不从你约会的两个小时回来? 例如,“2014-01-31 25:30:00”将成为“2014-01-31 23:30:00”,不是吗?

如果那就是你想要的,我猜这应该有效:

my.lt < - as.POSIXlt(“2014-03-09 14:00:00”)

my.lt $ hour < - my.lt $ hour - 2

  ask by KhalidN translate from so

未解决问题?本站智能推荐:

1回复

如何转换为日期时间对象?

我的日期以这种格式存储(列为我的数据之一) 而且我有这种格式的时间存储(我的两个数据列) 我想知道如何将其作为日期时间格式存储在R中。我尝试使用: 但我的输出是一堆NA
1回复

将时间戳转换为R中的正确类

我有时间戳数据,这是“因素”类。 它看起来如下:“193:00:11”; 它是几小时:分钟:秒...... 我试图将其转换为正确的时间戳类,以便我可以对其进行计算(如确定平均值,最大值,最小值等)。 我尝试过使用lubridate,然后做:hhmmss(df1 $ time); 但
1回复

将整数转换为R中的日期和时间

我有一个int列,其值类似30, 2230, 130是否有任何函数可以将它们转换为时间格式,例如30到00:30和130到01:30 ? 我用了: 但它返回了一个错误: 我还需要在时间转换后的时间之前添加yy-mm-dd ,以便最终输出可能像"1980-05-28 00:30"
1回复

将列转换为 POSIXct 日期/时间序列

我正在尝试将我的数据框中的列(str = 'character')重新配置为:'MM/DD/YYYY HH:MM:SS' 到日期/时间序列列(str = POSIXct)中以用于rmweather 包。 简而言之,我想从:'MM/DD/YYYY HH:MM:SS' 到:'YYYY-MM-DD H
1回复

如何使用具有日期时间和区域的列删除R中的重复时间戳

我在R中有一个带有几列的数据框。 我正在复制粘贴下面的列之一。 列类型在数据帧中为整数,并且+00.00表示UTC时间。 当我使用library(doBy)和命令Mach1 [firstobs(Mach1 [,16]),]时。 我得到下面的结果 我想过滤数据框并获取不同日期
1回复

仅将时间戳转换为日期

我一直在寻找可以找到的每个线程,并且唯一与这种格式设置问题相关的线程在这里,但这是针对Java的。 如何将2013-03-13T20:59:31 + 0000日期字符串解析为Date 我有一列包含诸如201604和201605的值,我需要将其转换为诸如2016-04-01和2016-
1回复

在 R 中转换时间戳

我正在尝试将时间戳(例如 2'30"50)转换为以秒或毫秒为单位测量的数字变量。我尝试使用单独的方法将变量分成 3 个变量,然后将它们组合起来,但似乎没有工作。有没有人有任何关于如何转换的提示?
2回复

如何将日期和时间从 UTC 转换为 R 中的本地时间?

我有一个如下所示的数据vlinder ( vlinder ),其中日期和时间戳(UTC)位于不同的列中: 在第一步中,我使用以下代码将date和time变量合并到一个名为dateandtime列中: 这导致数据帧vlinder中的额外列: 我想将 UTC 时间转换为本地时间(即 CEST