2015-04-01 55 views
1

我試圖子組日期字段廣告的大數據幀面對奇怪的現象:的R - 子集按日期

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" ... 
... 

希望得到任何幫助。謝謝!

+0

可重現的例子? – RockScience 2015-04-01 10:58:39

回答

0

當打印整個data.frame,時區,夏令時等時,POSIXlt可能會帶有額外的信息。請查看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) 

添加可能會解決你的問題。