R 语言是进行数据分析和统计计算非常流行的编程语言。tidyr 是 R 语言中用于数据清洗和整理的包,它可以帮助我们将数据整理成适合分析的格式。以下是关于使用 tidyr 进行数据清洗的教程。

简介

tidyr 包提供了几个核心函数,如 gather()spread()pivot_longer()pivot_wider(),这些函数可以帮助我们轻松地将数据转换成宽格式或长格式。

常用函数

gather()

gather() 函数可以将宽格式数据转换为长格式。它将指定的列名收集到一个新的列中,并将相应的值移动到另一个列中。

library(tidyr)
data(mpg)
gather(mpg, Year, Hwy, Cty)

spread()

spread() 函数与 gather() 相反,它可以将长格式数据转换为宽格式。

spread(mpg, Year, Cty, Hwy)

pivot_longer()

pivot_longer() 函数可以用来将多个列转换为单个列,并创建一个新列来表示每个列的名称。

pivot_longer(mpg, cols = c(Hwy, Cty), names_to = "Type", values_to = "Value")

pivot_wider()

pivot_wider() 函数与 pivot_longer() 相反,它可以将单个列转换为多个列。

pivot_wider(mpg, names_from = "Type", values_from = "Value")

实战案例

假设我们有一个宽格式的数据集,其中包含了汽车的年份、城市和高速公路的油耗。

data(mpg)

我们可以使用 gather() 函数将数据转换为长格式:

gather(mpg, Year, Cty, Hwy)

现在,我们可以使用 pivot_longer() 函数将年份、城市和高速公路油耗的列转换为单个列。

pivot_longer(mpg, cols = c(Hwy, Cty), names_to = "Type", values_to = "Value")

现在,我们的数据已经转换成长格式,可以方便地进行进一步的分析。

扩展阅读

想要了解更多关于 tidyr 包的信息,可以访问 tidyr 包的官方文档

[center] 数据清洗 R 语言 [center]