在R中,可以使用tidyr包中的函数来按列重新组织数据框。下面是一个示例代码:
# 安装tidyr包(如果尚未安装)
install.packages("tidyr")
# 加载tidyr包
library(tidyr)
# 创建一个示例数据框
df <- data.frame(
ID = c(1, 2, 3),
Name = c("Alice", "Bob", "Charlie"),
Math = c(90, 85, 95),
English = c(80, 75, 85),
Science = c(95, 90, 85)
)
# 原始数据框的结构
print(df)
# 使用gather函数按列重新组织数据框
new_df <- gather(df, Subject, Score, -ID, -Name)
# 重新组织后的数据框的结构
print(new_df)
输出结果:
原始数据框的结构:
ID Name Math English Science
1 1 Alice 90 80 95
2 2 Bob 85 75 90
3 3 Charlie 95 85 85
重新组织后的数据框的结构:
ID Name Subject Score
1 1 Alice Math 90
2 2 Bob Math 85
3 3 Charlie Math 95
4 1 Alice English 80
5 2 Bob English 75
6 3 Charlie English 85
7 1 Alice Science 95
8 2 Bob Science 90
9 3 Charlie Science 85
在示例中,我们使用gather函数来按列重新组织数据框。函数的第一个参数是原始数据框,后面的参数指定要保留的列(ID和Name)以及要重塑的列(Math,English和Science)。gather函数将原始数据框从宽格式转换为长格式,其中每一行表示一个观测值。最后,我们将重新组织后的数据框存储在new_df变量中,并打印出来以进行验证。
上一篇:按列重新排列sf对象
下一篇:按列逐步构建表格