可以通过使用tidyverse包中的pivot_longer函数来实现。pivot_longer函数可以将数据框从宽格式转换为长格式,即将多个列展开为一列。
具体步骤如下:
install.packages("tidyverse")
library(tidyverse)
df <- data.frame(ID = c(1, 2, 3),
Name = c("John", "Jane", "Tom"),
Age = c(25, 30, 35),
Score_Math = c(80, 90, 85),
Score_English = c(75, 85, 80),
Score_Science = c(90, 95, 92))
df_long <- df %>%
pivot_longer(cols = starts_with("Score_"),
names_to = "Subject",
values_to = "Score")
在上述代码中,cols参数指定要展开的列,使用starts_with函数可以选择以"Score_"开头的列。names_to参数指定展开后的列名,values_to参数指定展开后的值所在的列名。
print(df_long)
展开后的数据框df_long将包含以下列:
这样,我们就可以使用pivot_longer函数在R中使用多个定制列展开数据框了。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云