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

R语言中如何实现数据框指定列转置为宽表格式

实现方案

你需要的是长表转宽表的操作,R中有两类常用实现方式:

方法1:使用tidyverse生态的pivot_wider(推荐,代码最简洁)

如果未安装相关依赖先执行安装:

install.packages("tidyverse")

转换代码:

library(tidyverse)

df_out <- df_in %>%
  pivot_wider(
    id_cols = c(GENE, ID),
    names_from = trans,
    values_from = score
  )

执行后直接得到符合要求的宽表结果。

方法2:使用基础R内置reshape函数(无需安装额外包)

df_out <- reshape(
  df_in,
  idvar = c("GENE", "ID"),
  timevar = "trans",
  v.names = "score",
  direction = "wide"
)
# 去掉基础R默认添加的列名前缀
colnames(df_out) <- sub("^score\\.", "", colnames(df_out))

注:你给出的示例输出中ENS999对应的ID值11220为笔误,实际运行代码会保留原始数据的1122O取值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 23:48:02