如何为Seurat分析的基因数据框添加louvain细胞类型标注
为mke_gene添加louvain细胞类型标注的实现方法
核心思路
先从mke_cluster中提取唯一的seurat_clusters与louvain注释映射关系(原mke_cluster按细胞行存储,同一cluster会重复出现),再通过关联字段将映射注释匹配到mke_gene中,避免直接合并产生冗余。
实现代码(dplyr版本)
# 安装并加载dplyr(若未安装) # install.packages("dplyr") library(dplyr) # 提取唯一的cluster-注释映射表 cluster_louvain_map <- mke_cluster %>% distinct(seurat_clusters, louvain, .keep_all = FALSE) # 为mke_gene匹配louvain注释 mke_gene_annotated <- mke_gene %>% left_join(cluster_louvain_map, by = "seurat_clusters")
实现代码(base R版本)
如果偏好base R语法,可使用以下代码:
# 提取唯一的cluster-注释映射表 cluster_louvain_map <- unique(mke_cluster[, c("seurat_clusters", "louvain")]) # 为mke_gene匹配louvain注释 mke_gene_annotated <- merge(mke_gene, cluster_louvain_map, by = "seurat_clusters", all.x = TRUE)
关键说明
- 去重映射表是避免冗余的关键:直接用原
mke_cluster合并会导致mke_gene的每条基因记录重复多次(对应cluster下的细胞数量),提取唯一映射后合并仅会为每条基因添加一次对应注释。 - 左连接(
left_join或merge(all.x=TRUE))确保mke_gene的所有基因记录都被保留,不会因cluster匹配失败丢失数据。
内容的提问来源于stack exchange,提问作者PesKchan
相关产品推荐
相关产品推荐

