繁体   English   中英

创建一个新列,该新列给出条件上其他两个列与R中的另一列之间的时间差

[英]Creating a new column which gives the difference in time between two other columns in condition to another column in R

我的数据就是这样。 df是数据框的名称

Status          ArrivalDate                   ClosedDate       
Closed          2015-12-01 04:40:24         2015-12-08  10:12:08
In Progress     2015-12-03 06:40:00
Pending         2015-12-12 08:40:54
Cancelled       2015-12-06 04:40:24         2015-12-18  11:33:50

状态有4个因素:已关闭,已取消,进行中,待处理中和待审核没有关闭日期

我想创建另一个列,该列仅在状态为“已关闭”或“已取消”时给出ArrivalDate和ClosedDate之间的时间差。

这是我现在使用的代码:

df$Life[df$Status=="Closed"|df$Status=="Cancelled"]<-difftime(df$Arrival.Date,df$Closed.Date)

这是我收到的错误消息

as.POSIXlt.character(x,tz,...)中的错误:字符串不是标准的明确格式

PS:当我只尝试两个日期时, difftime()可以正常工作。 当扩展到整个列时,它将显示错误。

df$Life[df$Status=="Closed"|df$Status=="Cancelled"]<-difftime(as.POSIXct(df$Arrival.Date, format='%d-%m-%Y %H:%M:%S'),as.POSIXct(df$Closed.Date, format='%d-%m-%Y %H:%M:%S'))

假设您的日期是欧洲(DMY)格式,如果它们是美国(MYD),只需将%m%d交换即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM