【发布时间】:2018-09-30 04:48:48
【问题描述】:
假设,我有下面的数据框,想对最后一个变量HMS 做一些操作。
目的是创建一个新变量,比如说TimeStampNew,如果观察在当天的17:30:00 之后,则分配第二天。当观察表明没有值时('NA'),则应使用同一日期的TimeStamp。
问题是,将HMS-变量从类字符转换为允许条件的格式。我已经检查了 chron-package 或将其转换为 POSIXct 类型的对象作为可能的替代方案。
我在这篇文章中已经问过一个类似的问题:R - Condition on character variable "weekday" and replace with special "date" in a data frame。
我已经尝试通过上面提到的帖子中建议的dplyr 包的一些操作来解决这个问题。但是,由于时间格式复杂,我没有收到想要的解决方案。
有人对这个问题提出解决方案吗?!
提前致谢!
TimeStamp HMS
1 2010-02-22 19:55:00
2 2012-10-10 07:53:00
3 2012-10-24 07:55:00
4 2013-07-15 08:14:00
5 2013-07-24 08:23:00
6 2013-12-02 10:00:00
7 2012-02-23 07:56:00
8 2012-03-06 08:45:00
9 2013-09-15 19:54:00
10 2007-03-28 NA
11 2007-08-09 NA
12 2008-08-07 NA
【问题讨论】:
-
类似
TimeStamp + (!is.na(HMS) & HMS > "17:30:00")?您的示例不容易重现,因此我没有测试代码。
标签: r datetime dataframe dplyr