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

如何重塑R语言data.frame:新增细胞系列与各基因列且保留其余内容

R语言data.frame重塑:转宽格式并保留细胞系等列

直接用tidyverse里的pivot_wider()就能搞定,步骤如下:

1. 准备数据(模拟你的原数据结构)

假设你的原数据是长格式,包含样本、类型、基因、表达量,先新增细胞系列(如果原数据已有细胞系列,这步可以跳过):

library(tidyverse)

# 模拟原长格式数据
df <- tibble(
  Sample = rep(c("S1", "S2", "S3"), each = 2),
  Type = rep(c("Control", "Treat"), 3),
  Gene = rep(c("GeneA", "GeneB"), 3),
  Expression = c(1.2, 3.4, 2.1, 4.5, 0.9, 3.8)
)

# 新增细胞系列(这里按样本映射,你可以根据实际规则调整)
df <- df %>%
  mutate(`Cell Line` = case_when(
    Sample == "S1" ~ "CL1",
    Sample == "S2" ~ "CL2",
    Sample == "S3" ~ "CL3"
  ))

2. 执行重塑操作

把基因列转成单独的列,同时保留样本、类型、细胞系这些列:

df_wide <- df %>%
  pivot_wider(
    id_cols = c(Sample, Type, `Cell Line`),  # 指定要保留的非基因列
    names_from = Gene,  # 用哪个列的内容做新列名
    values_from = Expression  # 新列对应的值来源
  )

结果说明

执行后会得到宽格式数据:每行对应一个样本-细胞系-类型组合,每个基因单独成一列,数值为对应的表达量,完全保留了你需要的所有内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:55:56