在 R + 错误中将日期转换为分钟 as.POSIXlt.character 消息

Posted

技术标签:

【中文标题】在 R + 错误中将日期转换为分钟 as.POSIXlt.character 消息【英文标题】:Converting dates into minutes in R + Error in as.POSIXlt.character message 【发布时间】:2022-01-15 21:59:44 【问题描述】:

我对 R 很陌生。 我有一个名为 enddate 的调查平台(Qualtrics)自动创建的日期和时间变量。我想将该变量转换为从午夜开始的分钟数(日期以这种格式显示:08/03/2020 08:17)。

我尝试了在网上找到的这段代码:

enddate _mins<- hour(dat$enddate) * 60 + minute(dat$enddate) / 60

但我收到此错误消息:

Error in as.POSIXlt.character(x, tz = tz(x)) : 
  character string is not in a standard unambiguous format

我搜索了这个错误,发现下面的代码解决了上一个问题:

enddate_num <- parse_date_time(dat$enddate, orders = "mdy HM")

我现在收到此错误:

Warning message: 1306 failed to parse

非常感谢您的帮助,因为我不知道我还能做什么。

【问题讨论】:

您可能拥有不止一种格式。可以吗library(parsedate);enddate_num &lt;- parse_date(dat$enddate) 似乎省略了很多情况。这是我收到的消息 'max' / getOption("max.print") -- 省略了 2659 个条目 请考虑提供一个可重现的示例来说明问题 【参考方案1】:

有一个difftime() 函数。

将字符串转换为日期时间,然后使用函数:

timestring <-"08/03/2020 08:17" 

difftime(as.POSIXct(timestring, "%d/%m/%Y %H:%M", tz="GMT"), 
         as.POSIXct(timestring, "%d/%m/%Y", tz="GMT"), 
         units="mins")

【讨论】:

谢谢,我仍然收到很多关于 NA 的案例。出于某种原因,它不会转换某些特定观察值的值。 @dandan 上面的代码适用于提供的示例案例。如果您仍然遇到错误,请详细说明并提供示例。如果我不知道问题出在哪里,我无能为力。

以上是关于在 R + 错误中将日期转换为分钟 as.POSIXlt.character 消息的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中将日期转换为日期数(星期一 = 1,星期二 = 2)

在 R 中将数据框列转换为日期时间格式

如何在R中将时间(mm:ss)转换为十进制形式

如何在 .Net / C# 中将日期转换为 HTTP 格式的日期

使用R中的cut()函数将日期转换为15分钟间隔的结果不可预测

如何在IOS中将日期格式化为字符串,如“一天前”、“分钟前”?