替换R公式中的字符串

时间:2017-11-07 17:03:10

标签: r scope formula

我对R中的公式修改有疑问。

让我们说我有一个公式。

> fo <- a ~ b + c

我可以使用substitute_q

替换一个词
> pryr::substitute_q(fo, list(a = 'happy'))
"happy" ~ b + c

如果我想在没有引号的情况下替换一个术语,我可以将其替换为名称

> pryr::substitute_q(fo, list(a = as.name('happy')))
happy ~ b + c

但是,现在,我可以说我有一个带字符串的公式。

> fo <- 'a' ~ b + c
> fo
"a" ~ b + c

我找不到用公式代替字符串的方法。

> pryr::substitute_q(fo, list(a = as.name('happy')))
"a" ~ b + c
> pryr::substitute_q(fo, list("a" = as.name('happy')))
"a" ~ b + c
> pryr::substitute_q(fo, list(`"a"` = as.name('happy')))
"a" ~ b + c
> pryr::substitute_q(fo, list('"a"' = as.name('happy')))
"a" ~ b + c

我认为这是因为substitute_q在执行替换时在环境中查找变量,这意味着它总是尝试替换公式中的名称。有没有办法替换角色'a'?

1 个答案:

答案 0 :(得分:0)

在基数R中,使用.container{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; } .box img{ z-index: 1; } .box-text{ position: relative; top:50%; left: 50%; z-index: 2; } 将公式转换为字符,执行必要的替换,并强制回公式

deparse