You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中使用词频散点图或对比词云分析19世纪男女死因数据

嘿,你已经在分析19世纪男女死因差异的路上走得很顺啦!对比词云确实是个直观展示差异的好方法,我来帮你把代码补全优化,再给你补上词频散点图的实现方案,让你的分析更完整~

优化你的对比词云代码

首先得确保你加载了R里处理文本和词云的必备包:

library(tm)
library(wordcloud)

接下来把你的代码补全,还可以加上语料预处理步骤(这步可选但非常推荐,能过滤掉无关的噪声,让词云更精准):

# 假设female和male是你已经准备好的、分别存储男女死因文本的向量
all_text <- c(female, male)
corpus <- Corpus(VectorSource(all_text))

# 语料预处理:清理无关内容
corpus <- tm_map(corpus, content_transformer(tolower)) # 统一转小写,避免大小写拆分同一词
corpus <- tm_map(corpus, removePunctuation) # 移除标点符号
corpus <- tm_map(corpus, removeNumbers) # 移除数字(如果死因文本里有编号类内容)
corpus <- tm_map(corpus, removeWords, stopwords("english")) # 移除英文停用词(比如the、and这类无意义词)

# 构建词频矩阵并设置列名
tdm <- TermDocumentMatrix(corpus)
tdm_matrix <- as.matrix(tdm)
colnames(tdm_matrix) <- c("Female", "Male")

# 生成对比词云
comparison.cloud(tdm_matrix, 
                 max.words = 200, # 最多展示200个词
                 random.order = FALSE, # 按词频排序展示,更易读
                 rot.per = 0, # 不旋转词语,保持水平
                 colors = c("#E74C3C", "#3498DB"), # 用鲜明的红蓝色区分男女
                 title.size = 1.5) # 调大标题字号

额外实现:词频散点图(精准对比每个死因的词频)

如果想更量化地对比每个死因在男女中的词频差异,词频散点图会是比词云更精准的选择,用ggplot2就能轻松实现:

library(ggplot2)

# 把词频矩阵转换成ggplot能用的数据框格式
freq_df <- as.data.frame(tdm_matrix)
freq_df$term <- rownames(freq_df) # 把词作为单独一列
rownames(freq_df) <- NULL

# 绘制散点图
ggplot(freq_df, aes(x = Female, y = Male, label = term)) +
  geom_point(color = "#2C3E50", alpha = 0.7) + # 灰色点表示词频分布
  geom_text(hjust = 0.5, vjust = -0.5, size = 3, color = "#7F8C8D") + # 标注每个死因术语
  geom_abline(slope = 1, intercept = 0, linetype = "dashed", color = "#E74C3C") + # 对角线:男女词频相等的基准线
  labs(title = "19世纪男女死因词频对比",
       x = "女性死因词频",
       y = "男性死因词频") +
  theme_minimal()

在这个散点图里,对角线以上的词是男性群体更常见的死因,对角线以下的词是女性群体更常见的死因,能帮你快速定位差异显著的死因。


小提醒:如果你的死因数据里有同一疾病的不同拼写(比如tuberculosis和t.b.),可以提前用gsub做同义词合并,这样词频统计的结果会更准确哦!

内容的提问来源于stack exchange,提问作者Sommerseth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:53:14