从长表到宽表:R语言的数据重塑技巧
在数据处理和分析中,我们常常需要对数据进行转换和整理,以便更好地理解和分析数据。其中一项常见的任务是将数据从长表(narrow table)转换为宽表(wide table),或者说进行数据重塑。R语言提供了丰富的工具和函数来完成这个任务,本文将介绍一些常用的方法,并给出相应的源代码。
- gather函数:由宽表到长表
在处理宽表时,我们希望将一些列转换为行,这时可以使用gather函数。该函数属于tidyverse包中的tidyr库,可以方便地将数据从宽表转换为长表。
以下是一个示例代码:
library(tidyr)
df <- data.frame(
id = c(1, 2, 3),
var1 = c(10, 20, 30),
var2 = c(15, 25, 35),
var3 = c(18, 28, 38)
)
df_long <- gather(df, key = "variable", value = "value", -id)
上述代码中,我们首先创建了一个名为df的宽表,包含id列和var1、var2、var3三列。然后使用gather函数将除了id列之外的其他列转换为两列: