初学《R数据科学》之——tidyverse是什么
初学《R数据科学》之——tidyverse是什么
写在前面
在学《R数据科学》这本书之前,首先要知道,这本书不是讲各种类型的图用R是怎么做出来的,而是通过一些示例来讲解如何用R语言分析数据,更多的是其中呈现出的科研思维特别值得我们学习。而且,本书的书写方式、组织结构,甚至语言都很亲民,仿佛知道你在想什么。读完本书后,你将掌握R言的精华,并能够熟练使用多种工具来解决各种数据科学难题。
典型数据分析项目的工作流程
在介绍tidyverse之前,首先介绍一个典型的数据科学项目需要的工具模型,大体如下:
中文版:
英文版:
导入(Import)数据。
数据初级处理之——数据整理(Tidy):
将数据整理成R可识别的格式,整理好的数据形式:
每列是一个变量,每行是一个观测。
数据二次处理之——数据转换(Transform):
将数据转换成分析直接需要的数据,即数据的二次加工,如:
选出感兴趣的行、用现有变量创建新变量、计算一些统计量等。
生成知识的方式之一——可视化(Visulise):将数据用更直观的方式呈现,以便更好的发现规律。
生成知识的方式之二——模型(Model):弥补可视化缺点的工具。
如果已经将问题定义得足够清晰,那么就可以使用一个模型来回答问题。
数据科学的最后一步——沟通(Communicate):
在模型和可视化对数据理解透彻后,与他人交流分析结果。
编程(Program):
编程围绕在这些技能之外,又贯彻数据科学分析项目的各个环节。
tidyverse是什么
tidyverse是一个连贯的数据包操作系统,用于数据操作,探索和可视化,其中包含了一些核心R包,这些包按功能可以分为数据导入、数据整理、数据转换、可视化、建模、编程。它们与数据分析工作流程的关系大体如下:
下面列出了本书中涉及到的核心R包,主要看看各个包都是什么功能,在什么情况下用,关于包的使用及具体问题这里暂时不谈。
1. 数据导入
readr:本书第二部分《数据处理》第8章——用readr进行数据导入;提供常规的csv,txt等文件导入,注意导入格式不同于data.frame。是tibble。
readxl:导入excel文件
haven:支持spss和SAS数据导入
httr:支持网络数据导入
rvest:支持网页数据爬取等网页数据导入,配合httr和xml2包使用
xml2:xml格式数据支持
2. 数据整理
tibble:本书第二部分《数据处理》第7章——用tibble实现简单数据框;最大的特征就是没有行名。
tidyr :提供缺失值处理
3. 数据转换
dplyr:本书第一部分《探索》第3章——用dplyr进行数据转换;本书第二部分《数据处理》第9章——用dplyr处理关系数据;
forcats:本书第二部分《数据处理》第11章——用forcats处理因子;
hms:用于存储和转化时间数据
lubridate:本书第二部分《数据处理》第12章——用lubridate处理日期和时间;
stringr:本书第二部分《数据处理》第10章——用stringr处理字符串;
4. 可视化
ggplot2:本书第一部分《探索》第1章——用ggplot2进行数据可视化;本书第五部分《沟通》第21章——用ggplot2进行图形化沟通;
5. 建模
broom:本书第四部分《模型》第18章——用purrr和broom处理多个模型;
modelr:本书第四部分《模型》第17章——用modelr实现基础模型;
6. 编程
purrr:本书第三部分《编程》第16章——用purrr实现迭代;本书第四部分《模型》第18章——用purrr和broom处理多个模型;
magrittr:本书第三部分《编程》第13章:用magrittr进行管道操作;
结语
从本书目录我们也可以看出,本书并不是按照分析数据的流程来书写的,而是以一种更能为新手接受的方式来呈现,足见作者用心良苦,因此我们也按书中顺序学习即可。