仅用四行代码就可以挖掘你的QQ聊天记录

26 篇文章 88 订阅
6 篇文章 0 订阅

​大家好,我上次写的一篇博文是——QQ聊天记录分析,地址为:http://blog.csdn.net/wzgl__wh/article/details/69055369

今天来分享一个更简单的方法。那就是使用R包--QQmining。

QQmining,这是我第一次尝试写的R包,由于还存在着一些警告问题,所以还无法从github上面进行安装,但是可以本地进行安装。你可以访问我的github,。如果你需要这个包的话,可以从我的百度云进行下载:链接:http://pan.baidu.com/s/1kVyW8PT 密码:yrcq,也可以在关注我的微信公众号《跟着菜鸟一起学R语言》后台回复 QQmining 即可获取下载链接。


现在来对这个包进行一个简单介绍。

首先这个包依赖以下五个包,分别为:

rJavaRwordsegdplyrwordcloud2ggplot2

因此你在使用这个包的时候一定要确保已经装了这五个包。QQmining包下载之后直接复制到library文件夹里面即可直接加载使用。

QQmining这个包有四个函数,作用分别如下:

函数

作用

dataprocess

对数据进行一个处理。有两个参数,一个是路径,一个是文件名;返回一个数据框对象

topic

分析聊天讨论话题。将dataprocess函数返回的参数传入;返回一个词云

timepoint

分析一般聊天的时间点。将dataprocess函数返回的参数传入;返回一张图片

speaker

分析谁是在群里比较活跃。将dataprocess函数返回的参数传入;返回一张图片

如果你也可以查看帮助文档,比如查看topic()函数,既可以输入指令

?topic

就可以查看,不过由于时间上的关系,帮助文件写的比较简单粗糙,还存在许多问题,用的时候希望大家太在意细节。

那么我们现在就用四行代码来分析一个QQ群的聊天记录吧!


1、处理数据

qqdata<-dataprocess ("C:/Users/henry wang/Desktop/","数据分析师之家.txt")

2、分析讨论话题


 topic(qqdata)

运行结果如下:


因为我们没有删除停用词,所以说效果不是很好。


3、分析聊天时间

timepoint(qqdata)

结果如下:



4、分析最活跃的人


speaker(qqdata)

结果如下:


好了,我们用了4行代码就轻轻松松的分析了一份QQ聊天记录,是不是很简单。但是这个包对以下情况可能会出现一些错误


1.如果聊天记录存在语言消息,可能会出错。
 原因:如果存在语音聊天记录,在导出的.TXT文件里面是空白的一行。在删除NA之后无法合并在一个数据框里面。如下图:



2.如果用户名存在特殊字符,系统无法识别也可能出错。

 原因:speaker()函数分析活跃成员时,用户名作为一个坐标轴的属性,ggplot函数无法识别一些特殊字符则报错。如下图:


总结:​一方面,这个包是我做的第一个包,也许还存在着一些bug,如果遇到了欢迎告诉我;另外一方面,这个包功能还太简单,每一个函数也只有一到两个参数,对于输出结果也太单一。在后期我也会继续对这个包进行更新和完善,让每一个函数包含更多的参数,不断丰富每一个函数的功能。谢谢大家的支持!


注:这个包在R 3.3.2版本开发写的,尽量在3.3.2版本或更新的版本上面使用。

注:转载请注明原文链接为:http://blog.csdn.net/wzgl__wh/article/details/70948887

  • 11
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的仿QQ聊天记录展示页面的HTML代码,使用了Vue.js和jQuery.scrollbar插件实现滚动条: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>仿QQ聊天记录展示页面</title> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/jquery.scrollbar/0.2.11/jquery.scrollbar.min.css"> </head> <body> <div id="app"> <div class="chat-box"> <div class="chat-item" v-for="(item, index) in chatList" :key="index"> <div class="avatar"> <img :src="item.avatar" alt=""> </div> <div class="content"> <div class="name">{{ item.name }}</div> <div class="message">{{ item.message }}</div> <div class="time">{{ item.time }}</div> </div> </div> </div> </div> <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery.scrollbar/0.2.11/jquery.scrollbar.min.js"></script> <script> var app = new Vue({ el: '#app', data: { chatList: [ { avatar: 'https://via.placeholder.com/50', name: 'Alice', message: 'Hello, how are you?', time: '2021-09-01 10:00:00' }, { avatar: 'https://via.placeholder.com/50', name: 'Bob', message: 'I\'m fine, thanks. And you?', time: '2021-09-01 10:01:00' }, { avatar: 'https://via.placeholder.com/50', name: 'Alice', message: 'I\'m good too.', time: '2021-09-01 10:02:00' }, { avatar: 'https://via.placeholder.com/50', name: 'Bob', message: 'That\'s great.', time: '2021-09-01 10:03:00' } ] }, mounted: function() { // 初始化滚动条 $('.chat-box').scrollbar(); } }); </script> </body> </html> ``` 这个示例中,我们使用了Vue.js的v-for指令来循环渲染聊天记录列表,并使用了jQuery.scrollbar插件来实现滚动条。在Vue实例的mounted钩子函数中,我们对.chat-box元素进行了滚动条初始化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值