【发布时间】:2016-11-01 17:48:11
【问题描述】:
我有一个包含 12,000 行以下内容的数据集(显然,IP 地址已更改):
Date good? ip
11670 2016-10-31 00:03:30 TRUE 127.0.0.1
11671 2016-10-31 00:03:23 TRUE 127.0.0.1
11672 2016-10-31 00:03:20 TRUE 127.0.0.1
11673 2016-10-31 00:03:11 TRUE 127.0.0.1
11674 2016-10-31 00:03:08 TRUE 127.0.0.1
11675 2016-10-31 00:02:59 FALSE 127.0.0.1
11676 2016-10-31 00:02:53 TRUE 127.0.0.1
11677 2016-10-31 00:02:49 FALSE 127.0.0.1
11678 2016-10-31 00:02:44 FALSE 127.0.0.1
11679 2016-10-31 00:02:40 TRUE 127.0.0.1
所以,我为此做了一些事情,比如“获取所有包含 100 多行 TRUE 和 FALSE 组合的 IP 地址”等。
我正在尝试将上述内容转换为一种易于使用的格式,在该格式中我可以按计数对“好”布尔值进行排序,并将其分组为 1 小时的间隔。比如:
date TRUE FALSE
2016-10-31 00:00:00 342 1010
2016-10-31 01:00:00 544 890
我尝试了cut.POSIXt(data$date, breaks = "hour"),但这并没有保留布尔状态,还给了我一个不可绘制的对象。
我尝试了lapply(split(votes, cut(votes$date, "hour")), function(x) summary (x[2])),这是我在网上找到的,恰好适合我的用例,但是
1) 除了剪切和拆分之外,我不了解很多正在发生的事情 2)它给了我一个列表,其中包含一个字符日期,后跟一个字符块,我无法绘制
我应该在这里采取哪些转变和步骤?我尝试过聚合,但我总是失去 TRUE/FALSE 的区别。
我们的目标是制作一个每小时间隔有两个彩色条的图,蓝色表示在该小时间隔内注册的完全正确和红色表示完全错误。
【问题讨论】:
-
请给出一个工作示例,以便我们进行测试。你可以使用 dput()
-
@timat 我很乐意,但我不能,因为我实际上正在使用敏感的生产数据并且无法复制它。我得到了答案。非常感谢您的关注。