R语言词云

本文通过读取文本文件并进行预处理,利用R语言进行文本分词与频数统计,进而提取关键词并进行可视化展示。主要关注于文本中出现频率较高的关键词,并筛选出具有代表性的20个关键词,通过词云图直观呈现。此外,通过CSV文件导出前30个关键词,以便进一步分析与应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pinglun1=read.table("1.txt",sep="|")

# == 文本预处理  
res=pinglun1[pinglun1!=" "];  
#剔除通用标题  
res=gsub(pattern="[專賣店【未拆封順豐】||]+"," ",res);   
#剔除特殊词  
res=gsub(pattern="[我|你|的|了|是]"," ",res);       
#清理文本里的回车!否则每个回车就会被识别成一段文本
res=gsub("\n","",res)
###############
library(rJava);  
library(Rwordseg);  


# == 分词+频数统计  
words=unlist(lapply(X=res, FUN=segmentCN));  
word=lapply(X=words, FUN=strsplit, " ");  
v=table(unlist(word));    
# 降序排序  
v=rev(sort(v));   
d=data.frame(word=names(v), freq=v);   
# 过滤掉1个字和词频小于100的记录  
d=subset(d, nchar(as.character(d$word))>1 & d$freq>=100)  


# == 输出结果  
write.table(d, file="E: \\worldcup_keyword.txt", row.names=FALSE)  
#############绘制词汇图####################3
library("wordcloud")
mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:
wordcloud(d[1:30,]$word,d[1:30,]$freq,random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont3")
write.csv(d[1:30,], file="E:\\ 30个keyword.csv", row.names=FALSE)  
### 如何使用R语言创建 在R语言中,可以通过多种方法生成图。以下是基于`wordcloud`和`wordcloud2`包的实现过程以及示例代码。 #### 安装必要的库 为了生成图,首先需要安装并加载所需的R包。常用的两个包分别是`wordcloud`和`wordcloud2`[^1]。可以使用以下命令完成安装: ```r install.packages("wordcloud") # 基础包 install.packages("tm") # 文本挖掘工具包 install.packages("wordcloud2") # 高级交互式包 library(wordcloud) library(tm) library(wordcloud2) ``` --- #### 数据预处理 假设我们有一段文本数据,需要将其转换为适合生成的形式。通常情况下,会先清理文本中的无意义字符,并统计各单的频率。 ```r # 示例文本数据 text <- "这是一个测试文本。我们需要从中提取关键,并计算它们的出现次数。" # 清理文本 corpus <- Corpus(VectorSource(text)) corpus_cleaned <- tm_map(corpus, content_transformer(tolower)) # 转换为小写 corpus_cleaned <- tm_map(corpus_cleaned, removePunctuation) # 移除标点符号 corpus_cleaned <- tm_map(corpus_cleaned, removeNumbers) # 移除数字 corpus_cleaned <- tm_map(corpus_cleaned, removeWords, stopwords()) # 移除停用 # 创建文档-术语矩阵 (Document-Term Matrix) dtm <- DocumentTermMatrix(corpus_cleaned) # 统计频 freq_words <- as.data.frame(sort(rowSums(as.matrix(dtm)), decreasing = TRUE), stringsAsFactors = FALSE) colnames(freq_words) <- c("words", "frequency") head(freq_words) # 查看前几个高频汇 ``` --- #### 使用 `wordcloud` 包生成静态 `wordcloud` 是一个简单易用的包,能够快速生成基础版的图。以下是一个简单的例子: ```r set.seed(123) # 设置随机种子以保证结果可重复 wordcloud(words = freq_words$words, freq = freq_words$frequency, min.freq = 1, max.words = 200, random.order = FALSE, rot.per = 0.35, colors = brewer.pal(8, "Dark2")) ``` 此代码片段将根据频自动生成图,其中参数解释如下: - `min.freq`: 控制最低显示频率。 - `max.words`: 显示的最大单数量。 - `random.order`: 是否按随机顺序排列单。 - `rot.per`: 单旋转的比例。 - `colors`: 设定颜色方案[^3]。 --- #### 使用 `wordcloud2` 包生成动态 如果希望生成更美观、支持交互操作的,则可以选择`wordcloud2`包。以下是一个实例: ```r # 准备数据框 wc_data <- data.frame(name = freq_words$words, value = freq_words$frequency) # 生成互动式的 wordcloud2(data = wc_data, size = 1.5, color = "random-light", backgroundColor = "white") ``` 在此基础上,还可以进一步调整字体样式、背景颜色以及其他属性[^1]。 --- ### 总结 无论是静态还是动态形式,都可以利用R语言轻松制作出高质量的图。对于初学者而言,建议从基本功能入手逐步探索高级特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值