【问题标题】:Time Calculation Between Specific Events特定事件之间的时间计算
【发布时间】:2012-10-21 08:32:26
【问题描述】:

这是我的数据的一个子集:

Fr         Sig  Code NumDet    Date.Time          Aerial
62  150102 102   15    195 2012-09-14 18:28:00      1
63  150102 102   15    189 2012-09-14 18:32:00      1
64  150102 106   15    213 2012-09-14 18:36:00      1
65  150102 102   15    152 2012-09-14 18:40:00      1
66  150102 105   15    190 2012-09-14 18:46:00      1
67  150102  97   15      4 2012-09-14 18:51:00      2

我正在尝试计算 Aerial 1 上的第一次检测和 Aerial 2 上的第一次检测之间的时间。因此在这个数据集中它将是 23 分钟

我尝试了difftime 的变体,但似乎无法根据航号选择具体时间。

我试过了:

a <- difftime(table$Date.Time[2:length(table$Aerial == "1")], 
              table$Date.Time[2:length(table$Aerial == "2")])

但它甚至不接近。

【问题讨论】:

  • 您使用什么语言?您如何阅读这些数据?能否请您发布一些代码以供审核?
  • 我正在使用 R,数据是从 CSV 文件中读取的,Date.Time 是 as.POSIXlt,Aerial 是数字

标签: r date time


【解决方案1】:

这个命令使用difftime

difftime(table$Date.Time[table$Aerial == "2"][1],
         table$Date.Time[table$Aerial == "1"][1])

会回来

Time difference of 23 mins

【讨论】:

  • 太好了,谢谢!没有意识到我是如此接近,我是 R 的新手……我认为 [1] 选择第一次出现空中编号时是否正确?再次感谢!
  • 你会用选择最后一个元素而不是第一个元素来替换'[1]'吗?已尝试“长度(x)”但不会工作
  • @user1751379 您可以使用命令tail(x, 1) 选择对象x 的最后一个元素。使用您的示例:difftime(tail(table$Date.Time[table$Aerial == "2"], 1), tail(table$Date.Time[table$Aerial == "1"], 1))
猜你喜欢
  • 2017-05-21
  • 2016-09-18
  • 2021-11-06
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 2017-12-31
  • 2021-09-15
  • 1970-01-01
相关资源
最近更新 更多