[英]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.