R语言特定Dataframe的数据聚合与时间序列可视化求助
问题解答
需求一:按年份汇总特定Hit的总出现次数
你已经剔除了无关列,但还需要做过滤+分组聚合操作,用dplyr包就能搞定,步骤如下:
- 先确保装了
dplyr包(没装的话先跑install.packages("dplyr")),然后加载:library(dplyr) - 过滤出你要的特定Hit,再按
Year分组,对n求和:
跑完这个代码,# 把"你的目标Hit"替换成你要分析的单词,比如"Wäldchen" hit_year_summary <- daten.redux2 %>% filter(Hit == "你的目标Hit") %>% group_by(Year) %>% summarize(total_n = sum(n))hit_year_summary就是按年份汇总好的结果,每一行对应一个年份和该年份的总出现次数。
需求二:可视化选择:直方图还是雨云图?
先给你理清楚这两个图的适用场景:
- 雨云图:主要用来展示多组数据的分布特征(比如同时看散点、箱线、密度曲线),但你的数据是每年只有一个总次数,没有多样本,用雨云图完全发挥不了它的优势,反而会显得多余。
- 直方图:适合看数值的分布情况,比如把年份分成几个区间,看不同区间内的次数分布,但这不是你要的"50年间的出现情况"——你要的是随时间变化的趋势。
所以更推荐用折线图(用ggplot2实现),能直观展示特定Hit在50年间的次数变化趋势,代码示例:
library(ggplot2) ggplot(hit_year_summary, aes(x = Year, y = total_n)) + geom_line() + geom_point() + # 加上点更清晰 labs(x = "年份", y = "总出现次数", title = "特定Hit的年度出现次数变化")
如果非要在你问的两个图里选,直方图勉强能用来展示不同年份区间的次数分布,但远不如折线图直观。
内容的提问来源于stack exchange,提问作者Denise Al-Rubaye-Jung
相关产品推荐
相关产品推荐

