【发布时间】:2026-01-05 12:15:02
【问题描述】:
我目前有一个包含 Start.Time 列的数据框(从 *.csv 文件导入),格式为 24 小时格式(例如,20:00:00 等于晚上 8 点)。我的目标是在不同的时间间隔(例如,在 9:00:00 到 10:00:00 之间)捕获具有开始时间的观察结果,这也符合其他标准。然而,似乎 R 对这个“字符”变量进行排序的方式与我们一天的生活方式不一致(例如,14:00:00 被认为是低于 9:00:00 的值)。
例如,下面是一行按预期工作的代码,我在其中捕获了两个不同路径段的观察结果,它们的开始时间在 8:00:00 和 9:00:00 之间。
RLLtoMist8.9<-sum((dataset1$Trail.Segment==52|dataset1$Trail.Segment==55) &
(dataset1$Start.Time>="8:00" & dataset1$Start.Time < "9:00"),
na.rm=TRUE)
RLLtoMist8.9
但是,下面的代码不能按预期工作,因为 R 将 9:00:00 '评估'为大于 10:00:00。
RLLtoMist9.10 <-
sum((dataset1$Trail.Segment==52|dataset1$Trail.Segment==55) &
(dataset1$Start.Time>="9:00:00 AM" & dataset1$Start.Time < "10:00:00 AM"),
na.rm=TRUE)
【问题讨论】:
-
如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。