如果有人有在R中使用单体包的经验:
我正在尝试基于样本名向量来子集我的数据,但我无法做到。
我试过:
x@phenoData$sampleNames <- example.cells但是我发现了一个错误:
替换有661行,数据有5809行。
我试图子集的对象是一个由importCDS函数从Seurat对象创建的单元格数据集( created )。
我还为每个称为"CellType“的样例分配了一个单元类型,它是Seurat对象的meta.data的一部分,在转换成CDS后被列在phenoData的varLabels槽下面。
我想根据这两个变量中的任何一个进行帮助,谢谢。
发布于 2019-03-17 00:57:39
根据单片教程,使用此代码过滤了低质量的单元(HSSM是monocle对象):
valid_cells <- row.names(subset(pData(HSMM),
Cells.in.Well == 1 &
Control == FALSE &
Clump == FALSE &
Debris == FALSE &
Mapped.Fragments > 1000000))
HSMM <- HSMM[,valid_cells]因此,对于您的例子,这应该是有效的:
x = x[,example.cells]或(直接来自Seurat):
x = x[,rownames(data.seurat@meta.data[data.seurat@meta.data$CellType == "interesting_cell",])]发布于 2017-11-27 16:07:39
这一点:x@phenoData$sampleNames <- example.cells正在向表示示例处理的dataframe中添加新的数据,而不是子设置。
尝试使用x@phenoData$sampleNames %in% example.cells检索布尔向量(True,False),并使用以下方法进行筛选:
x@phenoData[x@phenoData$sampleNames %in% example.cells,]
一个小的编辑,这可能会搞乱你的CDS数据结构,所以要小心。最好在生成CDS之前进行过滤,或者从旧数据生成新CDS。
https://stackoverflow.com/questions/47514779
复制相似问题