如何筛选五大联赛足球转会费数据并计算均值及可视化(R语言)
解决方法
1. 筛选五大联赛数据
你已经提取了目标行和列,接下来直接在FT_League1里筛选指定联赛即可。先确认第7列的列名(可以用colnames(FT_League1)查看),假设列名为League,执行以下代码:
# 定义要保留的五大联赛 target_leagues <- c("Premier League", "La Liga", "Ligue 1", "Serie A", "Bundesliga") # 筛选数据 FT_top5 <- FT_League1[FT_League1$League %in% target_leagues, ]
如果习惯用dplyr包(更简洁),先安装加载后执行:
install.packages("dplyr") library(dplyr) FT_top5 <- FT_League1 %>% filter(League %in% target_leagues)
2. 计算各联赛平均转会费
Base R 方法:
# 替换Transfer_Fee为你实际的转会费列名(对应原数据第8/10列) avg_fee <- aggregate(Transfer_Fee ~ League, data = FT_top5, mean)
dplyr 方法:
avg_fee <- FT_top5 %>% group_by(League) %>% summarise(Average_Transfer_Fee = mean(Transfer_Fee, na.rm = TRUE)) # na.rm=TRUE用于忽略缺失值,根据你的数据情况调整
3. 绘图展示
用ggplot2做可视化,直观呈现结果:
install.packages("ggplot2") library(ggplot2) ggplot(avg_fee, aes(x = League, y = Average_Transfer_Fee)) + geom_col(fill = "#2c3e50") + labs(title = "五大联赛平均转会费对比", x = "联赛", y = "平均转会费") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) # 旋转x轴标签避免重叠
额外提示
如果转会费列是带符号的字符型(比如€45M),需要先转换成数值型才能计算:
# 示例:清理转会费格式(根据你的实际格式调整) FT_top5$Transfer_Fee <- as.numeric(sub("€|M", "", FT_top5$Transfer_Fee))
内容的提问来源于stack exchange,提问作者Cian
相关产品推荐
相关产品推荐

