【发布时间】:2018-02-01 17:03:42
【问题描述】:
我一直在尝试对行名采用这种格式的矩阵进行子集化 - “chr8:56979853-56987069_RPS20_ENSG00000008988.5”
我试着像这样子集化;
include_list <- c("RPS20", "VIL1", "KRT20", "CLDN7")
goi <- subset(mat2, rownames(mat2) %like% include_list)
但它会出错,因为该模式只采用第一个元素。有没有办法通过元素列表进行子集化。任何帮助表示赞赏。
【问题讨论】:
-
查找有关“在字符串中搜索模式”的问题。你可以做类似
subset(mat2, grepl(pattern = paste(include_list, collapse = "|"), x = rownames(mat2))的事情。 -
grep是一种选择,通过基因名称注意“cdc2”和“cdc28”等情况。另一种选择是拆分行名提取基因名称,然后进行匹配。subset(mat2, sapply(strsplit(rownames(mat2), "_"), "[[", 2) %in% include_list)) -
这行得通 - goi