Seurat 对象的条件子集
Conditional subsetting of Seurat object
我有一个Seurat object that I have run through doubletFinder。我正在尝试根据 class 化为 seurat_object@meta.data[["DF.classifications_0.25_0.03_252"]]
下的 'Singlet' 的单元格对对象进行子集化,并且可以通过执行以下操作来实现此目的:
seurat_object <- subset(seurat_object, subset = DF.classifications_0.25_0.03_252 == 'Singlet') #this approach works
我想自动执行此过程,但 DF.classifications_0.25_0.03_252
的 _0.25_0.03_252
是基于计算的值,无法提前获知。我可以通过执行以下操作弄清楚它是什么:
meta_data = colnames(seurat_object@meta.data)[grepl("DF.classification", colnames(seurat_object@meta.data))]
其中 meta_data = 'DF.classifications_0.25_0.03_252'
是一个字符 class.
但是,当我尝试执行以下任一操作时:
seurat_object <- subset(seurat_object, subset = meta_data == 'Singlet') #this approach does not recognize meta_data
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data$meta_data == 'Singlet') #this approach does not work
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data[[meta_data]] == 'Singlet') #this approach does not work
我收到一条错误消息:
Error in FetchData(object = object, vars = unique(x = expr.char[vars.use]), :
None of the requested variables were found:
Calls: remove_doublets ... subset.Seurat -> WhichCells -> WhichCells.Seurat -> FetchData
Execution halted
我不知道如何与 meta_data
变量进行条件匹配。有谁知道如何使子集过程自动化? 非常感谢。
这有效。
seurat_object = seurat_object[, seurat_object@meta.data[, meta_data] == "Singlet"]
但我特别不明白为什么这个不起作用:
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data[[meta_data]] == 'Singlet')
如果有人能告诉我为什么后者不起作用,我将不胜感激。
我有一个Seurat object that I have run through doubletFinder。我正在尝试根据 class 化为 seurat_object@meta.data[["DF.classifications_0.25_0.03_252"]]
下的 'Singlet' 的单元格对对象进行子集化,并且可以通过执行以下操作来实现此目的:
seurat_object <- subset(seurat_object, subset = DF.classifications_0.25_0.03_252 == 'Singlet') #this approach works
我想自动执行此过程,但 DF.classifications_0.25_0.03_252
的 _0.25_0.03_252
是基于计算的值,无法提前获知。我可以通过执行以下操作弄清楚它是什么:
meta_data = colnames(seurat_object@meta.data)[grepl("DF.classification", colnames(seurat_object@meta.data))]
其中 meta_data = 'DF.classifications_0.25_0.03_252'
是一个字符 class.
但是,当我尝试执行以下任一操作时:
seurat_object <- subset(seurat_object, subset = meta_data == 'Singlet') #this approach does not recognize meta_data
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data$meta_data == 'Singlet') #this approach does not work
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data[[meta_data]] == 'Singlet') #this approach does not work
我收到一条错误消息:
Error in FetchData(object = object, vars = unique(x = expr.char[vars.use]), :
None of the requested variables were found:
Calls: remove_doublets ... subset.Seurat -> WhichCells -> WhichCells.Seurat -> FetchData
Execution halted
我不知道如何与 meta_data
变量进行条件匹配。有谁知道如何使子集过程自动化? 非常感谢。
这有效。
seurat_object = seurat_object[, seurat_object@meta.data[, meta_data] == "Singlet"]
但我特别不明白为什么这个不起作用:
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data[[meta_data]] == 'Singlet')
如果有人能告诉我为什么后者不起作用,我将不胜感激。