本节书摘来自华章计算机《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一书中的第2章,第2.1节,作者:[美] 德博拉·诺兰(Deborah Nolan)  邓肯·坦普·朗(Duncan Temple Lang)  更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1 引言

在这个“数据免费且无处不在”的时代,我们在搜寻数据上拥有巨大的潜力,这些数据可以使我们洞悉专业领域的问题或个人感兴趣的主题。例如,我们可能对理解人的体能如何随年龄的增长而变化产生兴趣。对于这个问题,其中一个数据源来自公路赛。每年有成百上千人参加公路赛,比赛的组织者收集参赛选手的比赛用时信息并通常在网上发布个人相关的数据。这些可以免费访问的数据能够帮助我们深入了解有关个人体能和年龄之间关系的问题。
每年有许多公路赛,其中一个经典的赛事是樱花开放的4月初在华盛顿地区举行的樱花10英里公路赛。樱花公路赛始于1973年,当时是即将参加波士顿马拉松的跑步精英们的一场训练赛。随着知名度的提高,到了2012年有将近17 000人参与该项赛事,参赛者的年龄跨度从9岁一直到89岁。这项赛事变得十分流行,以致参赛选手需要通过抽奖方式进行选拔,或者他们需保证向官方竞赛慈善机构捐款500美金以获得参赛资格。每年比赛结束之后,组织者都会在http://www.cherryblossom.org/上公布结果(见图2-1),这些数据为研究年龄与比赛成绩之间的关系提供了巨大的资源。
樱花10英里公路赛公开的结果可以从网站上抓取并读入R中[3]以备分析。当前公布的结果包括所有从1999年到2012年的赛事成绩。 稍微具有挑战性的任务是从网站上抓取结果并将其格式化为能在R中分析的形式,这是因为被记录的信息以及信息的格式每年都在变化。一些简单的格式上的差异体现在表头格式和脚注的使用上,有些表中还会包含一些错误,例如,一些值出现在错误的列中,表头缺失,等等。总的来说,数据的获取是相当简单的,但是由于我们要发现一些小错误,那么该过程就变成了一个迭代处理。这里我们用统计的方法实现这个迭代过程,例如,我们检查已经读入R中的数据的汇总统计和分布图,发现异常点,比如2003年所有参赛选手的年龄都小于9岁等,并使用原始表格中的数据对样本观测值进行交叉校验,在某种程度上用尽可能通用的方法来修正代码以解决问题,重新生成数据并重复以上过程。这是有关“凌乱”数据的处理过程。它是2.2节和2.3节中重点关注的问题。此外,2.7节为那些对整个数据获取过程感兴趣的读者介绍了如何从网站上抓取比赛结果的主题。

图2-1 樱花公路赛网站截图。该网页包含每年比赛结果的链接。他们提供的最早数据是1999年的数据。男子组和女子组的结果被分别列出
在将数据成功读入R中并清洗之后,我们在2.4节中研究跑步时间与年龄的关系。鉴于比赛的普及,像数据可视化这样简单的任务也将面临挑战,我们要考虑怎样以一种信息丰富的方式展现数以万计的观察结果。
对于任何一年的比赛结果,我们都有一个成绩-年龄的关系横截面视图。也就是说,我们观察的是不同年龄组的人群和他们的跑步时间,而不是在他变老的过程中观察单个个体的比赛成绩。然而,我们拥有14个年度的赛事成绩,而且许多参赛选手参加了多场比赛,如果我们可以将单个选手几年内的跑步时间联系起来,就可以检测他的成绩随着年龄增长的变化情况。这些数据包括跑步者的姓名、年龄和居住地,因此我们将考虑怎样使用这些信息构建个人跑步时间的纵向视图。这是2.5节的主题。
如果我们研究那些参加过多个年度比赛的选手,就会得到一个成绩的纵向视图。然而,对于一个参赛选手,我们最多有其14年的成绩,因此我们不能在参赛年龄18~89岁整个跨度范围内观察某个个体的成绩变化情况。那么,我们可以拼凑这些纵向数据得到一个比赛成绩对于年龄的函数估计吗?我们将在2.6节研究这个问题的解决方法。
计算方面的主题
使用正则表达式从预格式化的文本表中提取和清洗混乱的数据,并创建唯一标识符以匹配属于同一个体的记录。
采用统计技术来识别坏数据,并确认这些问题已被修正。
可视化具有大量观测值的数据(约150 000条记录)。
获得采用R公式语言进行绘图和建模的经验。
拟合采用最小二乘法的分段线性模型和采用局部平均的非参数化曲线。
比较数据结构,例如,用于支持和处理纵向数据的数据框和数据框列表。这里包含诸如tapply()、mapply()、sapply()和lapply()等“应用”函数的应用。
开发策略,以便使用recover()在报错后通过浏览活动函数的调用来调试代码。
为获得文本内容抓取简单的网页。

《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.1 引言...相关推荐

  1. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.3 数据清洗和变量格式化...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.3节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  2. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.5 为跨年度的个人参赛选手构造记录...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.5节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  3. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.4 探索所有男选手的跑步时间...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.4节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  4. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.6 对个人跑步时间的变化进行建模...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.6节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  5. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一 1.1 引言...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第1章,第1.1节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  6. 数据科学r语言_您应该为数据科学学习哪些语言?

    数据科学r语言 Data science is an exciting field to work in, combining advanced statistical and quantitativ ...

  7. 数据可视化——R语言ggplot2包绘制精美的小提琴图(并箱线图或误差条图组合)

    数据可视化--R语言ggplot2包绘制精美的小提琴图(并箱线图或误差条图组合) 概述:R语言使用ggplot2工具包绘制小提琴图.为了使数据表达更加丰富,同时将小提琴图与箱线图和误差条图相结合.另外 ...

  8. 大数据之R语言速成与实战

    什么是R语言? R语言由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两人共同发明.其词法和语法分别源自Scheme和S语言. R定义:一个能够自有有效的用于统计计算和绘图的 ...

  9. R语言︱H2o深度学习的一些R语言实践——H2o包

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言H2o包的几个应用案例 笔者寄语:受启发 ...

最新文章

  1. vc6.0 简易的tcp网络讲解(二)
  2. 【Paper】2018_Group Consensus for Discrete-Time Heterogeneous Multiagent Systems with Input and Commun
  3. OpenGL Deferred Shading延迟阴影实例
  4. 每个Xcode开发者应该知道的七个使用技巧
  5. jquery mysql实现加入购物车_jQuery实现加入购物车飞入动画效果
  6. 泉州中考分数如何计算机,2019年泉州中考总分多少分,泉州中考考试科目设置
  7. 2011年 7月6日の朝会文章 手塚 治虫
  8. python是什么意思中文、好学吗-学习python难吗?是不是越低级的程序越难学,越高级的程序越简单?...
  9. CS229 Lecture 1
  10. 学习笔记(04):2020软考软件设计师--基础知识实战培训视频-数据结构基础--树和二叉树...
  11. VSCode SSH 远程连接
  12. 7 Papers Radios | 陈丹琦关系抽取新SOTA;上海交大医疗版MNIST数据集
  13. SeleniumWebDriver驱动2345浏览器
  14. Jmeter查看QPS和响应时间随着时间的变化曲线
  15. Jenkins基础:Jenkinsfile使用实例:12:使用docker.build构建镜像
  16. android 扫码枪 字符数少掉,BarTender条码字符数莫名变少是怎么回事?
  17. [UOJ311]积劳成疾
  18. centos安装mysql_centos如何安装mysql
  19. 亚马逊SP-API对接实践
  20. C++ QT加载字体,以及iconfont使用

热门文章

  1. python数据库学习--Mysql
  2. shell 语法简介(转载)
  3. ios(iphone/ipad)开发笔记(1)
  4. shell [] [[ ]] {}区别
  5. Apache的服务端包含--SSI
  6. JavaScript 中的有限状态机
  7. Ajax简单示例之改变下拉框动态生成表格
  8. Linux查看多核CPU利用率
  9. Windows下批处理文件(.bat)的使用
  10. 【FFmpeg】ffmpeg工具源码分析(一):main函数