R语言处理数据——dplyr包的使用(1)

该文介绍了如何处理两个数据集,将它们合并并基于weekattend计算10个最佳团队。接着,使用dplyr库计算平均每周上座率,并依据季后赛(playoff)和非季后赛(non-playoff)状态,分别绘制了10个最佳球队的柱状图。
摘要由CSDN通过智能技术生成

使用场景

首先根据以下两个数据集进行处理:
attend.csv
在这里插入图片描述
performance.csv
在这里插入图片描述
主要需求如下:
两个数据有共同的列,需要合并他们;
根据weekattend获得10个最佳的团队;
绘制图表,根据playoff和non-playoff选择top10的球队作图。

实现代码

两个数据有共同的列,需要合并

at <- read.csv("attend.csv")
pe <- read.csv("performance.csv")
at$X = pe$X = NULL
## i) 组合这两个数据集 ##
common_cols <- Reduce(intersect,list(colnames(at),colnames(pe)))
ap <- merge(at, pe, by.x = common_cols, by.y = common_cols)

根据weekattend获得10个最佳的团队

## ii) 使用dplyr,根据weekattend获得10个最佳团队 ##
q2_group_dat <- ap %>% group_by(name) %>%
  mutate(average_attend=sum(na.omit(weekAttend))/(length(unique(week))*length(unique(seasonYear)))) %>%
  ungroup()
unique(q2_group_dat[order(-q2_group_dat$average_attend),"name"])[1:10,]

在这里插入图片描述

绘制图表,根据playoff和non-playoff选择top10的球队作图

## iii) 绘制一个图表,根据季后赛和非季后赛的平均每周上座率来描绘10支最好的球队。
# 使用forcats包的函数对图表进行适当排序,并很好地呈现图表,为整个图形、轴和图例添加
# 相关的标题
# 10支playoff最好的球队,10支non-playoff最好的球队

q3_playoff_dat <- filter(q2_group_dat, playoffs=="Playoffs")
q3_nonplayoff_dat <- filter(q2_group_dat, playoffs=="No Playoffs")
q3_playoff_dat %>%
  count(name) %>%
  mutate(name = fct_reorder(name, n, .desc = T))%>%
  ggplot(aes(name, n)) + geom_col(fill = '#FF9999') +
  coord_flip()#-> p1

q3_nonplayoff_dat %>%
  count(name) %>%
  mutate(name = fct_reorder(name, n, .desc = T))%>%
  ggplot(aes(name, n)) + geom_col(fill = 'skyblue') +
  coord_flip() #-> p2

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值