当我做:
> quo(DLX6-AS1)
输出是:
<quosure>
expr: ^DLX6 - AS1
env: global
在破折号周围插入空格。
当我尝试将其转换为字符串时,我得到:
quo(DLX6-AS1) %>% quo_name
"DLX6 - AS1"
或者
quo(DLX6-AS1) %>% rlang::quo_name
或者
quo(`DLX6-AS1`) %>% rlang::quo_name
Error: Can't convert a call to a string
如何在我的函数中使用带有破折号的字符串?该函数接受一个基因名称并在数据框中查找该行,但一些基因由破折号连接:
geneFn <- function(exp.df = seurat.object@data, gene = SOX2) {
gene <- enquo(gene)
exp.df <- exp.df[as_name(gene), ]
}
> geneFn(DLX6-AS1)
谢谢!
之前已经问过这个问题:https ://github.com/r-lib/rlang/issues/770 ,但它没有回答如何实际执行此操作。