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

如何在R中将指定宽格式数据集转换为目标长格式?

R语言宽转长格式解决方案

要把给定的宽格式数据集转换为目标长格式,用tidyverse包的pivot_longer函数最便捷,操作步骤如下:

步骤1:加载工具包

library(tidyverse)

步骤2:执行格式转换

data_long <- data %>%
  pivot_longer(
    # 指定需要转换的列:所有EA开头和Score开头的列
    cols = starts_with("EA") | starts_with("Score"),
    # 拆分列名规则:.value保留EA/Score作为新列名,Time提取数字部分
    names_to = c(".value", "Time"),
    # 用正则匹配列名里的前缀和数字
    names_pattern = "(EA|Score)(\\d)"
  ) %>%
  # 将EA列重命名为需求中的EAR
  rename(EAR = EA) %>%
  # 把Time转为整数类型
  mutate(Time = as.integer(Time))

验证转换结果

查看转换后的前几行数据:

head(data_long)

输出示例:

# A tibble: 6 × 4
  Flower   EAR  Time Score
   <int> <dbl> <int> <dbl>
1      1     1     1     9
2      1     4     2    15
3      1     8     3    12
4      1    12     4     9
5      2     1     1    10
6      2     5     2    12

转换后每个Flower对应4行数据,Time取值1-4,EAR和Score也与对应时间点完成匹配。

内容的提问来源于stack exchange,提问作者user330

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:52:19