【发布时间】:2019-02-05 11:15:30
【问题描述】:
如果这篇文章的标题不准确,我提前道歉。我已经知道这是一个非常简单的问题,如果我知道正确的术语,我可能会找到一篇关于此的过往帖子。
所以我想要做的是使用 dplyr 过滤我的数据以获得基因家族。这是一个例子,所以它更有意义。
我有一个名为ADCY 的基因家族,但组成该家族的是 10 个独立的基因。所以家庭看起来是这样的
ADCY1
ADCY2
ADCY3
ADCY4
ADCY5
ADCY6
ADCY7
ADCY8
ADCY9
ADCY10
我知道我可以做这样的事情,但是必须输入所有 10 个基因有点烦人,尤其是当我有一堆我想查看的其他基因家族时。
genes <- c("ADCY1", "ADCY2", "ADCY3", "ADCY4", "ADCY5", "ADCY6", "ADCY7",
"ADCY8", "ADCY9", "ADCY10")`
df_filtered <- df %>%
filter(symbol %in% genes)
我想知道是否有使用 dpylr 并过滤可能只是基因名称的开头?如果这有意义吗?我知道有一个可以使用的starts_with("ADCY"),但是当我尝试将它与filter 选项一起使用时,我的R 会话崩溃了。我想知道是否有人有一些解决方案!
【问题讨论】:
-
当您想要选择名称与您的模式匹配的列时,
starts_with很有帮助。不是当您想选择特定变量/列的值时。为您的案例尝试grep函数系列中的一些内容。 -
df %>% filter(grepl("^ADCY", V1))? -
或
df %>% filter(str_detect(symbol, "^ADCY")) -
@AntoniosK 感谢您的建议!以后我会记住的!!我真的很感激帮助!像魅力一样工作
-
@RonakShah 感谢您的帮助!这就像一个魅力!非常感谢您的帮助