使用场景,今天在做cellchat,需要提取一下几种细胞类型的id。目前的设置是这样。
sce.all = seurat_obj
Idents(sce.all) = "CAFs"
celltype_sender=c("iCAF","myCAF")
如果正常写代码传参是这样
sender_ids <- sce.all@meta.data %>% filter(CAFs %in% celltype_sender) %>%rownames()
但是如果我想换一种细胞类型,CAFs就也要改,不够简洁。filter函数是不支持以下写法的,什么都筛选不出来
celltype_sender_idents = "CAFs"
sender_ids <- sce.all@meta.data %>% filter(celltype_sender_idents %in% celltype_sender) %>%rownames()
解决方案:
sce.all = seurat_obj
Idents(sce.all) = "CAFs"
celltype_sender=c("iCAF","myCAF")
celltype_sender_idents = "CAFs"sender_ids <- sce.all@meta.data %>% filter(get(celltype_sender_idents) %in% celltype_sender) %>%rownames()
这样就可以在一开始把变量设置好,在后面优雅的传参了