完成文本情感分析后运行T-test的标准差参数填写问题咨询
你不需要通过模拟正态分布样本的方式做t检验,直接基于每篇文章的真实情感得分计算显著性更准确,也不需要手动填标准差参数。
你之前的代码只按党派维度汇总了组内总情感得分,缺少单篇文章的情感得分数据,所以无法直接得到组内标准差。可以按以下流程调整代码:
步骤1:计算每篇文章的情感得分
library(tidytext) library(textdata) library(dplyr) # 加载AFINN情感词典 afinn_dictionary <- get_sentiments("afinn") # 给每篇文章生成唯一ID(你的原始数据每一行对应一篇文章) full_data <- full_data %>% mutate(article_id = row_number()) # 分词时保留文章ID和党派属性 news_tokenized <- full_data %>% unnest_tokens(word, full_article, to_lower = TRUE) # 关联情感词典后按单篇文章汇总得分 article_senti <- news_tokenized %>% inner_join(afinn_dictionary, by = "word") %>% group_by(article_id, partisan_media) %>% summarize(article_sentiment = sum(value), .groups = "drop")
步骤2:直接对两组做t检验
# 拆分两组的单篇情感得分,括号内替换为你数据里对应的党派分组取值 g1_senti <- article_senti %>% filter(partisan_media == "第一组党派属性值") %>% pull(article_sentiment) g2_senti <- article_senti %>% filter(partisan_media == "第二组党派属性值") %>% pull(article_sentiment) # 运行t检验 t.test(g1_senti, g2_senti)
如果你确实需要获取两组的标准差参数,运行以下代码即可得到:
# 第一组标准差 sd(g1_senti) # 第二组标准差 sd(g2_senti)
内容的提问来源于stack exchange,提问作者monete
相关产品推荐
相关产品推荐

