【发布时间】:2018-06-12 17:54:11
【问题描述】:
我在 R 中有一个包含几列的数据框。我正在复制粘贴下面的列之一。数据框中的列类型为整数,+00.00代表UTC时间。
D-T-Z
06/04/2018 16:30:01 +00:00
06/05/2018 20:15:00 +00:00
06/05/2018 12:45:34 +00:00
06/05/2018 20:15:00 +00:00
当我使用 library(doBy) 和命令 Mach1[firstobs(Mach1[, 16]), ]。我得到下面的结果
D-T-Z
06/04/2018 16:30:01 +00:00
06/05/2018 20:15:00 +00:00
06/05/2018 12:45:34 +00:00
我想过滤数据框并获取不同日期的单个记录。因为时间不同,它返回 06/05/2018 的两条记录,而我只希望返回一条记录。返回什么时间无关紧要。有没有其他方法可以做到这一点?
如果数据框有两列怎么办?
date Hour
1 2018-06-04 325.2 2 2018-06-05 329.5 3 2018-06-06 329.7 4 2018-06-07 329.9 5 2018-06-08 333.2 6 2018-06-13 356.0 7 2018-06-14 364.8 8 2018-06-15 372.6 9 2018-06-15 381.9 10 2018-06-21 383.3 11 2018-06-22 394.5
【问题讨论】:
-
如果你的时间列已经是日期格式,那么你可以做
data[!duplicated(as.Date(data$`D-T-Z`)),]如果不是,你可以将它转换成时间data[!duplicated(strptime(data$`D-T-Z`,"%m/%d/%Y")),] -
它与时区有什么关系?
-
请edit 您的问题并显示
dput(head(Mach1[, 16])的输出。这很好地有助于更好地重现问题。谢谢。