2021-01-04 10:43:51 阅读(186)
本文使用R语言模拟美国足球比赛的数据,我们将完成以下工作。获取和清理美国足球比赛数据分析和理解美国足球比赛数据构建测量攻防能力指标模拟单一游戏模拟多个游戏计算决定游戏介绍美国足球是美国最受欢迎的体育,也是世界上第九受欢迎的体育。每年,足球迷们都期待着9月份的新赛季:17周的常规赛,第二年1月的季后赛,以及第二年1月底或2月初的超级碗。首先,我们通过一些统计指标对本章中使用的足球比赛数据有了初步的了解和理解,并通过比较团队之间的统计指标来确定比赛的赢家。然后,我们可以使用这些指标来模拟单场比赛和多场足球比赛。在众多的模拟比赛中,虽然我们可以通过收集和利用球队中每个球员参加每场比赛的数据来模拟非常详细的单场比赛,但在制作橄榄球电动游戏时,只需要这样详细的模拟。在本章中,我们将采取一种相对简单的方法:利用球队粒度的统计数据,我们可以有效地决定哪支球队应该在比赛中获胜。本章的目的是展示如何实现一个完整的数据科学项目,包括从网站获取数据、提出指标、公式和计算方法,并解释不同的现实场景。最后,我们可以利用历史数据中总结的信息来模拟未来的比赛。为了显示R不仅可以进行统计建模,而且是一种编程语言,我们选择使用R来获取、处理和显示项目中的数据。本章仍遵循数据科学项目的实现过程,但由于处理不同的数据类型和任务类型,将进行适当的修改。为了完成本章的数据科学项目,您需要一台可以访问互联网的计算机,该计算机已经安装了R语言和以下R包。同时,上述内容需要包含在R语言环境中。XML包读取网络上的HTML数据、RSQLite和Stringr包处理和变换数据,GGPlot2可以实现数据的可视化。此外,如果读者不熟悉美国足球,他们可以访问http://www.nfl.com/rulebook/beginersguidetofotball获取基本背景知识。在获取和清洁美国足球比赛数据网络上,有许多网站下载美国足球相关数据(日程安排、比赛分数和简单的比赛统计数据)。需要注意的是,当我们寻找分析数据集时,我们关注数据的有用性、质量和格式。因此,考虑到http://sports.yahoo.com/它是一个可靠的数据源,有我们需要的数据和相对较好的数据格式。它的数据只需要简单的清理。我们将从这里下载活动数据。如果您已经安装并包含了简介中提到的R包,并将您当前的工作目录设置为您想要存储文件的地方,那么我们可以开始处理和分析数据。通过以下步骤获取和清理处理过程中的数据。1.首先,我们需要在一个赛季内获得每支球队的进攻数据。因为我们写这本书的时候,2013赛季是最近的完成赛季,所以我们把变量year设置为2013。2.其次,我们将设置数据地址的URL中年为2013,并将整个URL赋值为URL变量。3.当我们有一个完整的URL时,我们可以从网络上获取数据。执行上述命令可以创建一个数据框offense,存储2013赛季32支球队的所有进攻统计数据,如下图所示。4.我们首先注意到下载的团队数据中有许多空白列,为了确保正确的数据格式,我们需要首先清理数据。如下所示,我们清除空白列,并给出每列所需的数据类型。最后的TOP是控球时间,或者是不同球队每场比赛的平均进攻时间。在原始下载的数据中,其格式为分:秒。我们将其转换为以秒为单位的变量,这样TOP就能反映出不同球队在进攻时拥有控球权的平均秒。现在,下载的攻击数据变得干净整洁,如下图所示。5.现在我们以同样的方式获取防守数据。就像进攻数据一样,我们在URL中设置年份,可以获得防守数据。6.其次,我们将URL传输到readHTMLTable函数并下载数据。readHTMLTable函数将下载整个网页,因此我们可以在命令结束时添加[[7]]来选择我们需要的第七列元素。读者还可以尝试修改括号中的数据,观察网络元素的变化。下图显示了球队的防守数据。7.就像我们需要清理攻击数据一样,防守数据也需要清理。在将变量offense修改为defense的同时,我们将使用上述数据清理命令。需要注意的是,由于控球时间不适用于防守部分,TOP将不包括在defense中。如下图所示,清洁并赋予适当数据类型的防御数据。工作原理R语言中的paste()函数连接字符串(concatenate)。如果您不熟悉操作数据,则连接(concatenation)这意味着将两个字符串在一起。我们使用paste函数连接下载数据的URL和需要获取数据的年份,以便仅通过改变year的值来改变整个下载数据的URL。在改变year值为2012或2011的前提下,读者可以尝试重新操作上述步骤。如果网站服务器中有2011或2012的数据,程序可以自动下载数据,并且存在offense和defense变量。另一个非常有用的R函数是apply()。我们可以同时将多列变量转换为数值类型,只使用一行代码。apply()函数不仅可以用来改变数据类型,还可以用于其他数学计算。例如,defense数据框已经从第2列改为第13列,如果我们想要每列的平均值,我们可以通过以下代码实现。
以上就是关于如何实现一个完整的数据科学项目?的相关介绍,更多如何实现一个完整的数据科学项目?相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对如何实现一个完整的数据科学项目?有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一