在数据科学和统计分析领域,R语言因其强大的数据处理能力而广受欢迎。本文将探讨2023年R语言初学者应该学习的11个顶级R包。这些包在所有R项目中都有广泛的应用,是新手开始R语言之旅的绝佳起点。
这些包提供了包括数据操作和整理、数据可视化、机器学习、动态文档以及日期和时间处理在内的一系列功能。它们是R语言中处理数据的基本工具。本文将根据这些包执行的具体任务进行分类介绍。
dplyr
是tidyverse库集中使用最广泛的库之一,主要用于R中的数据操作。dplyr
中最常用的五个函数包括:
mutate()
:此函数向现有数据框添加新列。select()
:此函数帮助从数据框中选择特定列。filter()
:此函数根据提供的逻辑条件提取数据框的子集。summarise()
:汇总函数打印数据框的整个摘要。arrange()
:排序函数根据选定列的值重新排序数据。所有这些函数都可以与group_by()
函数轻松结合使用,允许按组执行任何操作。
stringr
在数据清洗和准备活动中被广泛使用。stringr
提供了一组函数,使处理字符串变得简单。它基于stringi
包,该包使用ICU C库提供快速、准确的基本字符串操作实现。
以下是stringr
中的七个主要函数,它们以'str_'开头,并以字符串向量作为第一个参数:
str_detect()
:此函数检测字符串中是否存在模式匹配。str_count()
:此函数计算字符串中匹配的数量。str_subset()
:此函数返回包含模式匹配的字符串。str_locate()
:此函数给出字符串中模式匹配的位置。str_extract()
:此函数提取每个字符串中找到的第一个模式匹配。str_match()
:此函数返回每个字符串中由括号定义的第一个模式匹配。str_replace()
:此函数将每个字符串中的第一个匹配模式替换为新文本。str_split()
:此函数将字符串分割成多个部分。readr
的目的是提供一种快速且简单的方法,从分隔文件(如逗号分隔值(CSV)和制表符分隔值(TSV))中读取矩形数据。它旨在解析多种数据格式,同时在解析产生意外结果时提供信息性问题报告。
以下是readr
支持的文件格式及其对应的read_*()
函数:
read_csv()
:使用read_csv()
函数加载逗号分隔值(CSV)文件。read_tsv()
:使用read_tsv()
函数加载制表符分隔值(TSV)文件。read_delim()
:使用read_delim()
函数读取最受欢迎的平面文件数据,逗号分隔值和制表符分隔值,即read_csv()
和read_tsv()
函数。read_fwf()
:使用read_fwf()
函数读取固定宽度文件。read_table()
:使用read_table()
函数读取文本数据类型,其中一列或多列空格分隔每一列。read_log()
:使用read_log()
函数读取网络日志文件。这些包允许用户创建静态、动画和交互式图形,使用简洁、一致的API。它们在学术界和工业界被广泛使用,并已成为R中数据可视化的主要内容。可以使用这些包构建几乎所有类型的图表。
ggplot2
是R的数据统计编程语言的数据可视化包。它由Hadley Wickham创建,并实现了Leland Wilkinson的图形语法——一种将图表分解为语义组件(如比例和层)的通用方案。
通常,从ggplot()
函数开始,提供数据集和aes()
函数中的美学映射。然后,可以添加不同的层来构建不同的图表。为了使其看起来美观,接着添加不同的颜色并使用分面规范,如facet_wrap()
等。
Leaflet
是一个开源的JavaScript包,主要用于创建交互式地图。此外,可以直接从R控制台使用这些地图。可以使用任意组合的地图瓦片、多边形、标记、线条等来设计和自定义地图。
caret
包(全称为Classification And REgression Training)是R中用于构建预测模型的一套工具。它提供了预处理数据、创建模型对象、训练模型、评估模型性能和调整模型超参数的函数。
caret
包旨在简化模型训练过程,允许用户轻松比较并从多种模型类型和调整参数中进行选择。它支持广泛的模型类型,包括线性和非线性回归、分类和聚类算法,并且具有一致的接口来处理这些模型。
这些包允许用户在各种文档格式中嵌入R代码和输出,包括HTML、PDF和Microsoft Word。它们是创建可重复研究文档的流行选择。
knitr
包是一个R包,允许用户将R代码和输出嵌入到各种文档格式中,包括HTML、PDF和Microsoft Word。它建立在Sweave系统之上,该系统由Friedrich Leisch开发,允许用户将R代码和LaTeX文档混合。
knitr
在Sweave的基础上增加了许多功能,包括——包括来自其他语言的代码和输出,如Python和SQL,创建动态报告,当底层数据或代码变化时可以自动更新。
R Markdown
包是一个R包,允许用户创建动态文档,将文本、代码和输出合并到一个文档中。R Markdown文档是使用一种简单、易学的标记语言Markdown创建的,这是流行Markdown语法的一个变体。
R Markdown文档可以在各种格式中呈现,包括HTML、PDF和Microsoft Word。它们适用于创建可重复研究,允许用户直接在文档中嵌入R代码和输出。R Markdown
包提供了一系列功能,用于格式化和自定义R Markdown文档,包括包括图像、表格和其他格式化元素的能力。
lubridate
包是R中用于处理日期和时间数据集的一套工具。它提供了解析、操作和格式化日期和时间的函数,以及执行常见操作的函数,如找出两个日期之间的差异或给日期添加指定数量的天数。
lubridate
通过提供一个一致、直观的界面,简化了R中日期和时间数据的工作,并支持处理时区问题,自动处理夏令时等问题。
DT
包是一个R包,允许在R中创建交互式表格。它基于DataTables JavaScript库,该库为在Web浏览器中生成交互式表格提供了快速且功能丰富的界面。
DT
包允许用户在R中创建可以由用户排序、筛选和搜索的表格,并且可以为大型数据集进行分页。它还提供了自定义表格外观和行为的函数,包括添加格式化、工具提示等功能。
Shiny
是R中广泛使用的包。Shiny
帮助通过视觉元素与他人分享发现,使他们更容易理解。使用Shiny
可以创建交互式Web应用程序。