qq怎么弄关键字云图

Python027

qq怎么弄关键字云图,第1张

qq怎么弄关键字云图

第三方词云工具固然方便,但是使用起来也是各种问题(如中文乱码、词云形状、字体颜色调整等等)。我和大家分享一下如何使用 R 语言的 jiebaR 和 wordcloud2 扩展包来完成中文文本(英文当然不在话下)的分词,并且绘制关键词词云。

0.前期准备

准备1:安装 R ,你可以前往 The Comprehensive R Archive Network 下载并安装程序。

准备2:把你需要分词的文本放在一个 txt 文件中(强调:务必是 txt 格式!)。(你可以使用爬虫获取这部分文本,或者手动复制粘贴得到文本信息)

1.中文分词

分词是绘制词云的基础,说得简单一点就是将中文文本分割成一个个词汇。举个例子,我们现在按照XX算法对句子“ 对公司相关运营数据进行提取、多维度分析和整理”进行分词,得到如下结果:

对、公司、相关、运营数据、进行提取、多维度、分析、和、整理

只有进行了分词,才可以进行词云的绘制;如果你已经完成了这一步,并且统计出了每一个词汇的频数,可以直接略过这一步。

我们用 R语言的 jiebaR 包实现上述操作,如下:

1)安装并加载 jiebaR 包

install.packages("jiebaR") library(jiebaR)

2)导入原始文本

f<-scan('/Users/XXX/Desktop/数据运营JD.txt',sep='\n',what='',encoding="UTF-8")

需要注意的是 /Users/XXX/Desktop/数据运营JD.txt 应该是你的txt文件的路径,不要直接copy。

3)开始分词

分词有很多种算法,其原理不是我们要关注的重点

seg<-qseg[f]

4)分词处理

因为分词出来可能会有很多常见的词汇,但是没啥用的,比如“的”、“是”、“什么”一类的。我们需要将这个词汇屏蔽掉。同时特别长的词汇这里我们也不要。

我的做法是将字符数控制在3-16之间,也就是最多4个汉字(1个汉字=4个字符),最少3个英文。

seg<-seg[nchar(seg)>2]

seg<-seg[nchar(seg)<17]

seg

这个时候分词结果,也就是 seg 可以显示在你的R程序上,如下图所示:

5)对分词进行转置

为了方便后面的处理,我们需要对 seg 进行一次转置(把横着放变成竖着放)

m1<-data.frame(seg)

2.统计词频

完成分词后,你需要统计每一个词出现的频数,比如“ 数据分析 10 ”这样的。

1)加载 sqldf 包

install.packages("sqldf")

library(sqldf)

2)统计词频

R语言-统计学 描述性统计

描述定量数据的数值方法:中心趋势度量 变异的度量 相对位置的度量。

1.中心趋势度量 : 算数平均 中位数 众数

1.1 在R中计算平均数的函数 mean( )常规的mean() 函数用法mean(x, trim = 0, na.rm = FALSE, ...) 参数说明: x 对象名称trim 过滤掉异常值 ,按照距离平均值的远近距离排除,如对象中含有10个数据,排除最高和最低值,trim=0.2na.rm 默认为F 表示是否计入空值实例1: 做一个稍微复杂点的操作,用r做数据透视表并把结果转换为matrix ,对行列求和。(仅娱乐,无实用价值)

demo <- mtcars[1:6,] # 调用R自带函数集,并去前6行

toushi <- aggregate(mtcars[,5:6] ,by = list(cyl = mtcars$cyl),sum) # 数据透视表求和

toushi <- as.matrix(toushi) # 将结果的数据框转化成矩阵

#(toushi <- apply(toushi,c(1,2),sum))

(rowSums(toushi)) # 行求和

(colSums(toushi)) # 列求和

toushi <- rbind(toushi,rowSums(toushi)) #将行求和结果并入最后一行

toushi <- cbind(toushi,colSums(toushi)) #将列求和结果并入最后一列

1.2 中位数和众数

对于偏度极大的数据集,中位数能更好的描述数据分布的中心。

很少用众数作为数据数据趋势的度量,只有当对y出现的相对频率感兴趣时,才会考虑到众数。

R实现中位数 :

median(x, na.rm = FALSE)

R中没有直接插找众数的命令

which.max(table(x))

2.变异的度量 : 极差 方差 标准差

2.1 .极差 = max()- min()

2.2 方差和标准差

对一个有n个测量值的有限总体来说,方差计算公式的分母为n。关于样本方差和总体方差分母的差异原因,可自行百度搜索。

R语言计算方差的函数: var(x,)

w<-c(75.0,64.0,47.4,66.9,62.2,62.2,58.7,63,5,66.6,64.0,57.0,69.0,56.9,50.0,72.0)

var(w)

# 附加指数点:标准差的两个有用法则:经验法则 和 切比雪夫法则,共同说明一个问题,对于任意大于1的正数k,至少有(1-1/k^2)的测试值落在平均值的k个标准值范围内。

3.变异的度量 : 百分位数 Z得分

3.1 .最常见的四分位数(一般从大到小)

quantile(x, probs = seq(0, 1, 0.25), na.rm = FALSE,names = TRUE, type = 7, ...)

如果是统计整个矩阵,比如y

那么直接table(y)

>y

[,1] [,2] [,3]

[1,]123

[2,]222

[3,]321

>table(y)

y

1 2 3

2 5 2

所以如果统计所有列,那就自己写个循环吧

for(i in 1:ncol(y)){

table(y[,i])

}