0

私のデータはこんな感じです。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 つの要素があります: クローズ済み、キャンセル済み、進行中、保留中 進行中、保留中は ClosedDates を持ちません

Status が Closed または Cancelled の場合にのみ、ArrivalDate と ClosedDate の時間差を示す別の列を作成したいと考えています。

これは私が今使っているコードです:

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

そして、これは私が得ているエラーメッセージです

as.POSIXlt.character(x, tz, ...) のエラー: 文字列が標準の明確な形式ではありません

PS: difftime()2 つの日付だけで試したところ、正しく動作しました。列全体に拡張すると、エラーが表示されます。

4

1 に答える 1

0

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です。

于 2016-05-20T07:19:01.780 に答える