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

求助:将数据集NA列的列名与值转换为指定格式

解决宽格式数据集转长格式的问题

可以使用tidyr包中的pivot_longer函数完成这个宽格式到长格式的转换,这是tidyverse生态中处理数据重塑的常用方法:

# 首次使用需先安装tidyr包,取消下方注释执行
# install.packages("tidyr")
library(tidyr)

# 匹配你提供的数据集结构
rv <- data.frame(
  id = c(1, 2, 3),
  group = c("vita", "vitb", "vitc"),
  cat = NA,
  value = NA,
  suppl = c("vita20", "vitb200", "vitc50"),
  thera = c(0.557, 0.764, 0.351)
)

# 执行数据转换
result <- rv %>%
  pivot_longer(
    cols = c(suppl, thera),  # 指定要转换的宽格式列
    names_to = "cat",        # 将列名映射为cat字段的取值
    values_to = "value"      # 将列值映射为value字段的取值
  ) %>%
  select(id, group, cat, value)  # 筛选并调整目标列顺序

# 输出结果
print(result)

运行后得到的结果与你的期望格式一致:

id group   cat  value
1  1  vita suppl vita20
2  1  vita thera  0.557
3  2  vitb suppl vitb200
4  2  vitb thera  0.764
5  3  vitc suppl  vitc50
6  3  vitc thera  0.351

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:55:19