You need to enable JavaScript to run this app. 如何在R数据框中新增列的同时使用mutate完成细胞表型分组计数
优惠活动
大模型
产品
解决方案
定价
更多

如何在R数据框中新增列的同时使用mutate完成细胞表型分组计数

分析目标
  • 核心任务:统计两类组织区域(Tumour肿瘤区、Stroma间质区)下三种细胞表型(Ki67、cPARP、Negative)的细胞数量
  • 数据处理路径:从原始仅含单个「Tissue Category」字段的细胞分割数据中,拆分Tumour、Stroma两个独立分类维度
  • 最终表结构设计:新增6个存储对应唯一细胞ID的列,列名分别为Tumour Ki67、Stroma Ki67、Tumour cPARP、Stroma cPARP、Tumour Negative、Stroma Negative,后续可直接对各列调用计数函数完成统计
已编写的分析代码
library(tidyverse)
library(phenoptr)

# 读取细胞分割数据,生成原始数据备份
mydata <- read_cell_seg_data(choose.files())
mydatabackup <- mydata

# 查看数据集中包含的唯一细胞表型
unique_phenotypes(mydata)

# 查看数据集全量字段名
colnames(mydata)

# 提取组织分类字段,查看取值范围
TissueCategory_Column <- mydata$`Tissue Category`
length(TissueCategory_Column)
TissueCategory_unique <- unique(TissueCategory_Column)
length(TissueCategory_unique)

# 过滤掉背景、坏死区域的非目标细胞,仅保留肿瘤、间质区细胞
filter_tc <- mydata %>% 
  filter(`Tissue Category`!="Background", `Tissue Category`!= "Necrosis")

# 初步按组织类别、表型维度分组计数
count(filter_tc, 'Tissue Category', Phenotype)

# 重复加载tidyverse包
library(tidyverse)

# 尝试将长表转换为宽表
data_wide <- spread(filter_tc, 'Tissue Category', Phenotype)
data_wide

# 初步统计各表型对应的总细胞量
lapply(unique(filter_tc$Phenotype), function(x){ sum(filter_tc$Phenotype==x) })
操作过程留存记录
  • 运行count函数得到的分组计数结果截图
  • 原始细胞分割数据表的字段结构截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 16:54:03