2つのデータセットがあります。データセット1には、2009-08-18 18:15:00で始まり、2012-11-11 22:30:00で始まる15分間隔のタイムスタンプが含まれています。データセット2には、工場で発生する障害の開始および終了タイムスタンプがあります。 6つの障害があり、これらの障害の開始時間と終了時間も15分間隔ですが、1間隔より長く続くこともあります。それらはまた、2009-08-18 18:15:00と2012-11-09 22:30:00の間のどこかにも似ています。私は-iは、次の障害を示すことになる欠陥、故障のために変数に時間を作成しようとしています私離れて(15分あり)間隔やである私障害が私間隔前に始まっ示すだろう。例えば、Rの開始時刻と終了時刻を基にした失敗までの時間可変幅
DataSet1
Timestamp Sensor 1
2009-09-04 10:00:00 30
2009-09-04 10:30:00 40
2009-09-04 10:45:00 33
2009-09-04 11:00:00 23
2009-09-04 11:15:00 24
2009-09-04 11:30:00 42
DataSet 2
Start Time End Time Fault Type
09/04/09 10:45 9/4/2009 11:15 1
09/04/09 21:45 9/4/2009 22:00 1
09/04/09 23:00 9/4/2009 23:15 1
09/05/09 10:45 9/5/2009 11:15 1
09/05/09 21:30 9/5/2009 23:15 1
09/08/09 10:45 9/8/2009 12:30 1
は、だから私はで終わるしたいその後、障害変数(TTF1)とに次の時間は、障害2-6私が使用することができます知っている
Timestamp Sensor 1 TTF1
2009-09-04 10:00:00 30 -3
2009-09-04 10:30:00 40 -1
2009-09-04 10:45:00 33 0
2009-09-04 11:00:00 23 1
2009-09-04 11:15:00 24 2
2009-09-04 11:30:00 42 -41
するためのプロセスを繰り返すことですsqldf関数は各フォールトタイプを分けていますが、フォールト変数の時間をカウントすることを始める場所はどこにもありません。私は非常に立ち往生しています、どんな助けも大いに評価されるでしょう!
あなたは 'difftime()'をしたいと思う –
Rで 'sqldf'を使わないでください。他の関数よりも実行に時間がかかることは知られています。 'which'と' data.table'を見てください。 –
MCVEを作成することができれば、さらにカスタムソリューションを提供できます。 http://stackoverflow.com/help/mcve基本的には、質問からコードをコピーして実行し、その結果の例に基づいて必要な結果を生成するために必要なデータセットを用意することを意味しますその質問にあなたが入力したものです。しかし、私の既存の答えは、うまくいけばそのままで十分かもしれません。 –