【问题标题】:Trying to do calculations using Date and Time in R. Which function to use for my specific calculation?尝试使用 R 中的日期和时间进行计算。哪个函数用于我的特定计算?
【发布时间】:2022-11-10 15:58:36
【问题描述】:

我正在做一个关于共享单车的案例研究。尝试计算每个用户花费的时间(以分钟为单位),这将通过开始时间减去结束时间来实现。

我首先尝试创建新的 start_time 和 end_time 列。之后我可以使用以下命令进行计算:

df_cyclistic_copy$started_at_time <- as.POSIXct(df_cyclistic_copy$started_at_datetime, format = "%d-%m-%Y %H:%M")
df_cyclistic_copy$ended_at_time <- as.POSIXct(df_cyclistic_copy$ended_at, format = "%d-%m-%Y %H:%M")

列已创建但 NA

我什至检查了新的 started_at_time 列的类。它是 POSIXct

我不明白。我哪里错了? (注意:我一般是编程新手)

【问题讨论】:

  • 您的列的格式已经正确。那里不需要format

标签: r datetime


【解决方案1】:

这些列采用日期时间的默认格式,即 . ymd 嗯。我们只需要使用as.POSIXct。 format 如果需要指定,它将是 "%Y-%m-%d %H:%M" 而不是 "%d-%m-%Y %H:%M",因为字符串以 4 位数的年份 (%Y) 后跟 -,然后是 2 位数的月份 (%m),@ 987654328@ , 2 位数天 (%d)

df_cyclistic_copy$started_at_time <- as.POSIXct(df_cyclistic_copy$started_at_datetime)
df_cyclistic_copy$ended_at_time <- as.POSIXct(df_cyclistic_copy$ended_at)

举个例子

> as.POSIXct("2022-04-06 8:52")
[1] "2022-04-06 08:52:00 EDT"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多