让我们使用一个示例数据集和相应的R代码来演示如何将宽数据转换为长数据:
示例数据集:
学生ID | 测试1得分 | 测试2得分 |
---|---|---|
1 | 80 | 90 |
2 | 85 | 95 |
3 | 78 | 88 |
R代码:
# 加载tidyr包
library(tidyr)
# 创建示例数据框
data <- data.frame(
学生ID = 1:3,
测试1得分 = c(80, 85, 78),
测试2得分 = c(90, 95, 88)
)
# 将宽数据转换为长数据
data_long <- pivot_longer(data,
cols = starts_with("测试"),
names_to = "测试",
names_prefix = "测试",
values_to = "得分")
# 查看结果
print(data_long)
这段代码首先创建了一个包含三个学生在两次测试中得分的宽格式数据框,然后使用pivot_longer()
函数将其转换为长格式。在pivot_longer()
函数中,cols
参数指定了要转换的列(这里是所有以"测试"开始的列),names_to
指定了新列的名称(这里是"测试"),values_to
指定了值的列名称(这里是"得分")。