問題タブ [difftime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 条件付き連続行の時間差
時間のリストがあります:
私の目的は、指定された行とその上の行の間の分数の差を表す整数値になる 3 番目の列を作成することです。
したがって、出力は次のようになります。
ただし、時間が異なるすべてのケースを除外し、上の行と同じ時間を共有する行の違いのみを見つけたいと考えています。例えば:
これまでのところ、次のコードを思いつきました。
これはうまくいくようですが、a) 3 番目の列としてデータフレームに追加し、b) 上の行が同じ時間ではない行をスキップする方法がわかりません。アドバイスをいただければ幸いです。以下にデータのサンプルを含めました。
r - サブセットに基づくRデータフレームのdifftime
ランプのオンとオフを切り替える時間を追跡するこのサンプル データフレームがあります。
私が達成したいのは、ランプがオンになっている期間 (秒単位) を含む 4 番目の列を追加することです。
望ましい出力:
while ループと for ループを含むカスタム関数を使用して、これを行うことに既に成功しています。しかし...私はRの初心者であり、これはよりシンプルでエレガントにできると確信しています(サブセット、適用、および/または....を使用)。方法がわかりませんか?
正しい方向に導くためのアイデアはありますか?
r - difftime で行をループする
下に時間の列がありますtimefact
私の目的は、指定された行とその上の行の間の分数の差 (difftime) を表す整数値を含む 4 番目の列を作成することです。さらに、 がtimefact_hour
上の行と異なるすべてのケースを除外する必要があります。つまり、同じ を共有する行の違いだけを見つける必要がありますhour
。
次のコードを書くことができました。これは、ある行から次の行への違いを取るという点で機能しますが、posix 時間を文字に変換せず、hour
異なるインスタンスをスキップしません。
サンプルデータは次のとおりです。
適切な出力を得るためにコードを変更する方法をお聞きしたいと思います。出力がどのように見えるかの例を次に示します
r - 状態の他の2つの列間の時間差をRの別の列に与える新しい列を作成する
私のデータはこんな感じです。df はデータフレームの名前です
ステータスには 4 つの要素があります: クローズ済み、キャンセル済み、進行中、保留中 進行中、保留中は ClosedDates を持ちません
Status が Closed または Cancelled の場合にのみ、ArrivalDate と ClosedDate の時間差を示す別の列を作成したいと考えています。
これは私が今使っているコードです:
そして、これは私が得ているエラーメッセージです
as.POSIXlt.character(x, tz, ...) のエラー: 文字列が標準の明確な形式ではありません
PS: difftime()
2 つの日付だけで試したところ、正しく動作しました。列全体に拡張すると、エラーが表示されます。
r - R "difftime" が奇妙な動作を示す
関数「difftime」に少し混乱しています。2016 年 3 月 27 日までの時差を計算すると、すべて問題ありません。しかし、2016 年 3 月 28 日、29 日、30 日、または 31 日を試すとすぐに、問題があるようです。
日付を 2016 年 3 月 27 日に設定し、「欠落」した日数を手動で追加することでこの問題を回避できますが、機能に何か問題があるのではないかと思っていました...? 日付を変更したばかりなので、何が間違っていたのかわかりません...
c - 初期化された time_t 変数を確認する
- time_t 変数が初期化されているかどうかを確認する方法は?
- difftime 関数を使用して 2 つの time_t 変数の差を計算したい場合、呼び出しの前に手動でサニティ チェックを実行する必要がありますか?
- また、difftime の戻り値は double であるため、この値が 0.0 より大きいことを確認するにはどうすればよいですか?
ありがとう