首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个ride_length的Difftime显示为0

每个ride_length的Difftime显示为0
EN

Stack Overflow用户
提问于 2022-07-12 12:23:09
回答 1查看 30关注 0票数 -2

我对R中的编码很陌生,而且似乎不知道这里的问题是什么,在我尝试创建一个新列时,difftime()函数总是将结果显示为0。

代码语言:javascript
复制
all_trips$ride_length <- difftime(all_trips$ended_at,all_trips$started_at)

一瞥

代码语言:javascript
复制
$ started_at         <chr> "2019-04-01 00:02:22", 
$ ended_at           <chr> "2019-04-01 00:09:48",
EN

回答 1

Stack Overflow用户

发布于 2022-07-12 12:25:58

欢迎来到这里!通常,请使用minimal reproducible example或类似的方式发布数据集相关部分的dput()

输出中的<chr>表示列是字符向量,而不是日期时间。

正如jay.sf在注释中指出的那样,difftime()可以以某些格式解析字符向量,并且应该能够解析文章中给出的单个示例。

不过,通常情况下,最好将日期时间存储为内置日期时类之一,即POSIXctPOSIXlt,而不是依赖于隐式强制。为使他们皈依:

代码语言:javascript
复制
all_trips$started_at  <- as.POSIXct(all_trips$started_at)
all_trips$ended_at  <- as.POSIXct(all_trips$ended_at)

# Calculate diff time
all_trips$ride_length <- difftime(
    all_trips$ended_at,
    all_trips$started_at,
    units = "secs"
)

如果转换不起作用,您将得到一个错误:

代码语言:javascript
复制
as.POSIXct(c("2019-04-01 00:02:22", "not a valid date time"))
Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

如果您尝试将difftime()与字符向量一起使用,而该字符向量不是明确的日期时间,那么这也是相同的错误。

这个post是R对日期/时间类的内部处理的有用的讨论。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72952250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档