《数据科学实战手册(R+Python)》一第2章 汽车数据的可视化分析(R)

2023-10-31 02:10

本文主要是介绍《数据科学实战手册(R+Python)》一第2章 汽车数据的可视化分析(R),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本节书摘来自异步社区《数据科学实战手册(R+Python)》一书中的第2章,第2.1节,作者【美】Tony Ojeda(托尼·奥杰德) , Sean Patrick Murphy(肖恩·派特里克·墨菲) , Benjamin Bengfort(本杰明·班福特) , Abhijit Dasgupta(阿布吉特·达斯古普塔),更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 汽车数据的可视化分析(R)

数据科学实战手册(R+Python)
本章涵盖如下内容。

  • 获取汽车燃料效率数据
  • 为了你的第一个项目准备好R
  • 将汽车燃料效率数据导入R
  • 探索和描述燃料效率数据
  • 进一步分析汽车燃料效率数据
  • 研究汽车的产量以及车型

简介
本书介绍的第一个项目是分析汽车燃料经济数据。我们首先用R对该数据集进行分析。R常常被称为数据科学通用语言,因为它是目前最流行的统计和数据分析语言。在本书前半部分的各个章节中,你将会看到R在数据处理、建模、可视化方面的过人之处,并开发一些有用的脚本,来完成你的分析工作。

本章的“食谱”大致涵盖数据科学管道中的如下步骤。

  • 获取
  • 探索和理解
  • 改写、整合以及处理
  • 分析和建模
  • 交流和实施

从流程上讲,数据科学管道是数据科学的骨架。为了精通数据科学,你需要通过应用多种工具和方法来实现这些流程,从而获取经验。这样,在有特定的数据集需要分析时,你将会知道哪些方法和工具是适合的。

本章的目的是引导你完成对于汽车燃料效率数据的分析。你将学到数据科学管道的这些步骤。未来其他项目将要进行数据分析时,你就可以应用这些步骤。将本章视为热身吧,更多的挑战将在后续章节展开。

获取汽车燃料效率数据
每一个数据科学的项目都是从数据开始的,本章也并不例外。对于我们的例子而言,我们需要深入研究一个包含燃料效率的数据集,在这个数据集中燃料效率用每英里消耗的燃料加仑数(MPG)来度量。数据集中包含自 1984 年开始记录的美国汽车的相关测量数据。这份数据来自美国能源部和美国环保局。数据集中除了包含燃料效率,还有一些汽车的其他特征。我们可以使用这些特征来对数据做分组汇总统计,从而看到哪个组的汽车燃料利用效率更高,并且我们可以看到这些数据是如何随着时间变化的。这份数据集的最新版本可以在如下地址获取:http://www.fueleconomy.gov/feg/epadata/vehicles.csv.zip。关于这份数据集中各个变量的信息可以在如下地址得到:http://www.fueleconomy. gov/feg/ws/ index.shtml#vehicle。最新的数据是2013年12月4日更新的,本书中使用的数据是2013年12月8日从网站上下载的。


1f328fa8dd5db8b5b4218c6c6a065dda012f6ec8

我们推荐你使用随本书代码一起提供的数据集,这样可以保证代码产出的结果和本书展示的一致。
准备工作
为了完成本章的内容,首先你需要一台可以连接互联网的电脑,电脑上还需要安装一个文本编辑器。

处理流程
按照如下步骤进行,获取本章后续部分所需的数据。

1.在http://www.fueleconomy.gov/feg/epadata/vehicles.csv.zip网站下载数据。

2.在电脑上用解压工具对vehicles.csv文件进行解压,然后把数据移动到你代码的目录下。

3.花一点时间,用微软的Excel或者Google的Spreadsheet或者某个简单的文本编辑器打开解压后的vehicles.csv文件。逗号分隔(csv)的文件是一种很容易处理的文件,这种文件可以用一些很基础而且免费的工具展示和处理。文件打开后,你可以先看看这份即将要处理的数据,找找感觉。

4.浏览网站http://www.fueleconomy.gov/feg/ws/index.shtml#vehicle。

5.选择vehicle下面数据描述的部分,并将它们复制粘贴到你本地的一个文本文件中。不要包含emissions部分。把这份文件存在你的工作目录下,命名为varlabels.txt。这份文件的头5行如下。

   atvtype - type of alternative fuel or advanced technologyvehiclebarrels08 - annual petroleum consumption in barrels forfuelType1 (1)barrelsA08 - annual petroleum consumption in barrels forfuelType2 (1)charge120 - time to charge an electric vehicle in hours at120 Vcharge240 - time to charge an electric vehicle in hours at240 V


e7919665c4bc07f3463b71cd7001df00b557a33a

为了你的方便,这份文件已经包含在本章的代码库中。
工作原理
一开始的这些部分,没有太多需要解释的。但是要注意的是,我们这里开始的相对比较简单。在一些数据科学项目中,你是无法如此容易地获取和观察数据的。

为了你的第一个项目准备好R
为完成后续的工作,你需要在电脑上安装一个R的环境(基础的R或者RStudio都可以,但是我们强烈建议你安装强大而免费的RStudio),并且已经在电脑里保存了汽车燃料效率的数据集。请确保你的电脑里已经包含上述本次分析所需要的所有内容。

准备工作
我们需要连接到互联网,而且我们假设你的平台上已经安装了RStudio,安装的过程在前一章已经提供了。

处理流程
如果你正在使用RStudio,只需执行以下三步。

1.打开RStudio。

2.在R的命令窗口,安装这个项目需要的R包:install.packages("plyr") install.packages("ggplot2")install.packages("reshape2")

3.载入这些R包:library(plyr) library(ggplot2) library(reshape2)

工作原理
R的优点在于其社区以及该社区围绕R语言所开发的各种功能的包,这些包对于R社区的所有成员都是可以获取的。目前有4 000多个包,这些包可以令你的数据分析任务变得容易很多。

Hadley Wickham博士是R社区中非常有影响力的成员。他已经产出了一大批优质并且经常被使用的R包。在本章中,你会初步使用他的两大杀器:plyr以及ggplot2。此外,你还会使用第三个包:reshape2。plyr用于对数据集进行分裂——合并的分析,本章稍后会解释它是怎么工作的。ggplot2会使复杂数据的可视化变得更容易。

参考资料

  • R的主页:http://www.r-project.org/
  • RStudio主页:http://www.rstudio.com/
  • R简介:http://www.cyclismo.org/tutorial/R/
  • R相对完整的入门指南:http://www.statmethods.net/about/sitemap.html
  • plyr参考文档:http://cran.r-project.org/web/packages/plyr/plyr.pdf
  • ggplot2参考文档:http://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf
  • Wickham博士的主页:http://had.co.nz/

将汽车燃料效率数据导入R
依据前面的指导,你已经安装好了所需的所有原料,现在你可以把数据导入R中,并开始做一些初步的分析,从而对数据的情况有一个初步的感觉。

准备工作
本章中用到的大多数分析是累加的,也就是说前一段分析的方法或者结论会用在后续的分析中。因此,如果你已经完成了前面的步骤,则你已经有了接下来分析所需要的所有东西。

处理流程
以下几步会引导你将数据导入R中。

1.首先,将工作路径设定到本地保存了vehicles.csv的路径下:setwd("path")


这篇关于《数据科学实战手册(R+Python)》一第2章 汽车数据的可视化分析(R)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312092

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S