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

如何将基因数据集转置为宽表?dplyr的group函数是否适用?

数据格式转换解决方案

你要做的是长格式转宽格式,用dplyr的group_by其实不对路,应该用tidyverse里的tidyr::pivot_wider函数,搭配dplyr一起用就行。

步骤示例:

  1. 先加载所需包:
library(tidyverse) # 包含dplyr和tidyr
  1. 构造示例数据集(如果已有现成数据框可跳过此步):
df <- tibble(
  Genes = c("myc", "myc", "myc", "erk", "erk", "erk"),
  Cell_Line = c("A1", "A2", "A3", "A1", "A2", "A3"),
  Value = c(233, 213, 541, 123, 245, 123)
)
  1. 执行格式转换:
wide_df <- df %>%
  pivot_wider(
    id_cols = Cell_Line, # 指定作为行标识的列
    names_from = Genes,  # 指定要转为列名的字段
    values_from = Value  # 指定对应填充的数值列
  )
  1. 查看转换结果:
print(wide_df)
# 输出如下:
# # A tibble: 3 × 3
#   Cell_Line   myc   erk
#   <chr>     <dbl> <dbl>
# 1 A1          233   123
# 2 A2          213   245
# 3 A3          541   123

补充说明:group_by主要用于分组聚合计算,不是做数据格式重塑的工具,pivot_wider才是处理这类长转宽需求的标准方法。

内容的提问来源于stack exchange,提问作者Jawad Alaa Edeen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:27:05