2016-07-27 13 views
-1

私は2つの列を持っていますが、(i)の到着 - (i + 1)の出発点とその値を新しい列に格納する必要があります。ループ差のRプログラミング

departure       arrival 
2012-01-26 08:15:00     2012-01-26 08:50:00 
2012-01-26 11:30:00    2012-01-27 16:00:00 
2012-01-27 18:00:00    2012-01-27 23:05:00 
2012-02-11 00:20:00     2012-02-11 09:10:00 

expected output 
waiting time 
(2012-01-26 08:50:00)-(2012-01-26 11:30:00) = 2 hr 40 min 
(2012-01-27 16:00:00)-(2012-01-27 18:00:00) = 2 hrs 
(2012-01-27 23:05:00)- (2012-02-11 00:20:00)=14 days 13 hrs, 349 hrs 

上記のデータは完全なコードでお願いします。 RIで試みたが、多少の誤差があります

for (i :length(data frame){ 
i <- i[17] #index of arrival column 
j <- i+1[18] #index of departure column 
diff = i-j 
return diff 
} 
diff = waiting time 

私はPOSXClt

答えて

0

これは、パッケージを使用することにより、データの出発と到着を変換した到着の違いと出発

を計算に多少の誤差がありますlubridate

d$departure <- lubridate::ymd_hms(d$departure) 
d$arrival <- lubridate::ymd_hms(d$arrival) 

d$difference <- d$departure - d$arrival 
d 
  departure    arrival difference 
1 2012-01-26 08:15:00 2012-01-26 08:50:00 -35 mins 
2 2012-01-26 11:30:00 2012-01-27 16:00:00 -1710 mins 
3 2012-01-27 18:00:00 2012-01-27 23:05:00 -305 mins 
4 2012-02-11 00:20:00 2012-02-11 09:10:00 -530 mins 
+0

ありがとうございます、私は到着ist値と出発の第二の値の違いが必要です(2012-01-26 08:50:00) - (2012-01-26 11:30:00)2の違いを与える時間40分 –