在数据分析和可视化过程中,数据的组织形式直接影响着我们能够进行的分析类型和可视化效果。这里简单介绍两种常见的数据格式:长格式(Long Format)和宽格式(Wide Format),以及如何使用tidyr包进行转换。
什么是长格式和宽格式数据?
宽格式(Wide Format)
- 每个观测单位占用一行
- 每个变量占用一列
- 适合人类直观阅读
- 常见于Excel表格
例如,一个记录学生各科成绩的宽格式数据:
# 宽格式数据示例
student_scores_wide <- data.frame(
student_id = c(1, 2, 3),
math = c(85, 92, 78),
english = c(92, 88, 95),
science = c(90, 85, 88)
)
长格式(Long Format)
- 每个观测值占用一行
- 包含标识变量和值变量
- 适合统计分析和可视化
- 符合"整洁数据"原则
同样的数据在长格式下的表现:
# 长格式数据示例
student_scores_long <- data.frame(
student_id = rep(1:3, each = 3),
subject = rep(c("math", "english", "science"), 3),
score = c(85, 92, 90,