在R中如何将宽格式dataframe转换为指定结构的长格式数据
R语言宽表转长表解决方案
你需要做的是将宽格式数据转换为长格式数据,以下是几种可行的实现方式:
方式1:tidyverse包pivot_longer(主流推荐方案)
# 首次使用先安装包 # install.packages("tidyverse") library(tidyverse) df_output <- df1 %>% pivot_longer( cols = Test1:Test3, names_to = "Test", values_to = "Values" )
运行后df_output就是你需要的目标结构。
方式2:基础R实现(无需安装第三方包)
df_output <- reshape( df1, idvar = "Day", varying = list(2:4), v.names = "Values", timevar = "Test", times = c("Test1", "Test2", "Test3"), direction = "long" ) rownames(df_output) <- NULL # 可选:重置行号
方式3:reshape2包melt函数
# 首次使用先安装包 # install.packages("reshape2") library(reshape2) df_output <- melt( df1, id.vars = "Day", variable.name = "Test", value.name = "Values" )
内容的提问来源于stack exchange,提问作者Firas Zguir
相关产品推荐
相关产品推荐

