You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:24:01