QQ文本分析—R语言

Python019

QQ文本分析—R语言,第1张

1、参考文献

设置超链接: 时间分布和成员分析  ; QQ聊天内容  ; recharts安装包官方介绍  

2、读入QQ聊天记录

文本内容

QQ文本读入的形式从左到右分别为“时间”,“用户”,“聊天信息”

时间信息涉及年份,日期以及具体时间。可以根据时间信息分析群的活跃分布情况

特殊的第十行

可以发现第十行的时间,用户都为空格

文件上传分两行表示。第九行出现“[图片]郭樱分享文件”;第十行只出现文件名称

3、时间分析

3.1、一星期分布

QQ 群的聊天兴致星期分布:周二,周六聊天最多;一般周一,周日很少聊天

想知道周二总共有过多少次发言吗?

把鼠标点在周二的“柱形”上就可以知道了

3.2、24小时分布

聊天兴致在一天中的分布

交流高峰期一般在上班时间:上午9点到11点~下午14点到17点;夜间讲话不多

3.3、每天的发言次数分布

如何知道“折线图”中,高峰期是哪一天呢?

把鼠标点在高峰期就可以知道了

点击右上角柱形图标,即可展示为柱形图

每天的发言次数按从大到小排列,可以知道2016年11月24日是个重大的日子

其实是一个很普通的周四(不过节,不放假)

小技巧

想要在页面里展现更多行吗?

在show 10 entries里选择想要的页数吧

4、聊天内容分析

4.1、初次分词结果

根据 搜狗词库日常聊天用语词库 对数据进行分词。

从分词结果可以发现“的”,“了”,“好”,“就”,“吗”等连接词,语气词高频度出现,所以需要对一些无用信息进行删除

5.2、字符长度大于1的词汇

排列前三的为图片、表情、你们

“李主任”出现44次(search中输入李主任即可查询);“月报”出现43次。一看就是个正规的群

5.3、删除初次分词中无意义信息

删除一些无意信息后,“图片”,“表情”仍为主要词汇

看来“吃”是群里的主要话题

5.4、展示清除后,排名前1500的词

同时删除“图片”,“表情”两词

你的问题我不是特别清楚。不过,看你的warning里,header不是一个数而是一列数,再有,header看起来像是因子型不是布尔型(R里面称logical)。我觉得应该是你已经对T进行赋值了,T覆盖了原有的TRUE的含义,所以你可以单独拿出T看看。还有一个小提醒,布尔型数据在R里面最好写全,TRUE,FALSE,不然有时会报出意想不到的错。

运算符是一个符号,通知编译器执行特定的数学或逻辑操作。 R语言具有丰富的内置运算符,并提供以下类型的运算符。

运算符的类型

R语言中拥有如下几种运算符类型:

算术运算符

关系运算符

逻辑运算符

赋值运算符

其他运算符

算术运算符

下表显示了R语言支持的算术运算符。 操作符对向量的每个元素起作用。

运算符 描述 例

关系运算符

下表显示了R语言支持的关系运算符。 将第一向量的每个元素与第二向量的相应元素进行比较。 比较的结果是布尔值。

运算符 描述 例

逻辑运算符

下表显示了R语言支持的逻辑运算符。 它只适用于逻辑,数字或复杂类型的向量。 所有大于1的数字被认为是逻辑值TRUE。

将第一向量的每个元素与第二向量的相应元素进行比较。 比较的结果是布尔值。

运算符 描述 例

& 它被称为元素逻辑AND运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果两个元素都为TRUE,则给出输出TRUE。

v <- c(3,1,TRUE,2+3i)

t <- c(4,1,FALSE,2+3i)

print(v&t)

它产生以下结果 -

TRUE TRUE FALSE TRUE

| 它被称为元素逻辑或运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果元素为真,则给出输出TRUE。

v <- c(3,0,TRUE,2+2i)

t <- c(4,0,FALSE,2+3i)

print(v|t)

它产生以下结果 -

TRUE FALSE TRUE TRUE

! 它被称为逻辑非运算符。 取得向量的每个元素,并给出相反的逻辑值。

v <- c(3,0,TRUE,2+2i)

print(!v)

它产生以下结果 -

FALSE TRUE FALSE FALSE

逻辑运算符&&和|| 只考虑向量的第一个元素,给出单个元素的向量作为输出。

运算符 描述 例

&& 称为逻辑AND运算符。 取两个向量的第一个元素,并且只有两个都为TRUE时才给出TRUE。

v <- c(3,0,TRUE,2+2i)

t <- c(1,3,TRUE,2+3i)

print(v&&t)

它产生以下结果 -

TRUE

|| 称为逻辑OR运算符。 取两个向量的第一个元素,如果其中一个为TRUE,则给出TRUE。

v <- c(0,0,TRUE,2+2i)

t <- c(0,3,TRUE,2+3i)

print(v||t)

它产生以下结果 -

FALSE

赋值运算符

这些运算符用于向向量赋值。

运算符 描述 例

<−

or

=

or

<<−

称为左分配

v1 <- c(3,1,TRUE,2+3i)

v2 <<- c(3,1,TRUE,2+3i)

v3 = c(3,1,TRUE,2+3i)

print(v1)

print(v2)

print(v3)

它产生以下结果 -

3+0i 1+0i 1+0i 2+3i

3+0i 1+0i 1+0i 2+3i

3+0i 1+0i 1+0i 2+3i

->

or

->>

称为右分配

c(3,1,TRUE,2+3i) ->v1

c(3,1,TRUE,2+3i) ->>v2

print(v1)

print(v2)

它产生以下结果 -

3+0i 1+0i 1+0i 2+3i

3+0i 1+0i 1+0i 2+3i

其他运算符

这些运算符用于特定目的,而不是一般的数学或逻辑计算。

运算符 描述 例

: 冒号运算符。 它为向量按顺序创建一系列数字。

v <- 2:8

print(v)

它产生以下结果 -

2 3 4 5 6 7 8

%in%此运算符用于标识元素是否属于向量。

v1 <- 8

v2 <- 12

t <- 1:10

print(v1 %in% t)

print(v2 %in% t)

它产生以下结果 -

TRUE

FALSE

% % 此运算符用于将矩阵与其转置相乘。

M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)

t = M % % t(M)

print(t)

它产生以下结果 -

[,1] [,2]

[1,] 65 82

[2,] 82 117