1

奇妙な動作に直面している日付フィールド広告で大きなデータフレームをサブセット化しようとしています:

1) 興味深い時間間隔を見つける:

> ld[ld$bps>30000000,]
            Date.first.seen Duration Proto      Src.IP.Addr Src.Pt      Dst.IP.Addr Dst.Pt Tos Packets    Bytes      bps
1400199 2015-03-31 13:52:24    0.008 TCP      3.3.3.3   3128      4.4.4.4  65115   0      39    32507 32500000
1711899 2015-03-31 14:58:10    0.004 TCP      3.3.3.3   3128      4.4.4.7  49357   0      29    23830 47700000

2) そして、その秒に何が起こっているかを調べてみてください:

> ld[ld$Date.first.seen=="2015-03-31 13:52:24",]
            Date.first.seen Duration Proto      Src.IP.Addr Src.Pt      Dst.IP.Addr Dst.Pt Tos Packets    Bytes bps
1401732 2015-03-31 13:52:24   17.436 TCP      3.3.3.3   3128    6.6.6.6  51527   0       3     1608 737

動作がよくわかりません。もっと多くの結果が得られるはずです。例えば

> ld[1399074,]
            Date.first.seen Duration Proto      Src.IP.Addr Src.Pt      Dst.IP.Addr Dst.Pt Tos Packets    Bytes      bps
1399074 2015-03-31 13:52:24    0.152 TCP      10.10.10.10   3128    11.11.11.11  62375   0       8     3910   205789

日付にはPOSIXltを使用します

> str(ld)
'data.frame':   2657583 obs. of  11 variables:
 $ Date.first.seen: POSIXlt, format: "2015-03-31 06:00:00" "2015-03-31 06:00:00" "2015-03-31 06:00:00" "2015-03-31 06:00:01" ...
...

任意の支援をいただければ幸いです。ありがとう!

4

1 に答える 1

0

POSIXlt は、全体data.frame、タイムゾーン、夏時間などを印刷するときに抑制される追加情報を運ぶ場合があります。 https://stat.ethz.ch/R-manual/R-devel/library/base/html/DateTimeClasses.html .

POSIXlt 変数 ( ld$Date.first.seen) のみを出力すると、通常、この追加情報の少なくとも一部が提供されます。

なんらかの理由で変数を POSIXlt に保持する必要がなく、フォーマットが有効にする追加の機能が必要ない場合は、次のように簡単です。

ld$Date.first.seen = as.character(ld$Date.first.seen)

サブセットステートメントの前に追加すると、おそらく問題が解決します。

于 2015-04-01T11:27:27.833 に答える