从长表到宽表: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列之外的其他列转换为两列:variable和value。其中,variable列包含原来的列名,value列包含原来各列的值。转换后的结果存储在df_long中。
- spread函数:由长表到宽表
与gather函数相反,当我们需要将一些行转换为列时,可以使用
本文介绍了R语言中数据重塑的方法,包括使用tidyr库的gather函数将宽表转换为长表,spread函数将长表转换为宽表,以及更灵活的pivot_longer函数进行复杂数据结构转换。通过示例代码展示了如何实现这些操作,帮助读者掌握数据重塑技巧。
订阅专栏 解锁全文
76

被折叠的 条评论
为什么被折叠?



