1
Rの式の変更に関する質問がありますR式の文字列を置換する
私は数式を持っていると言います。私は引用符なしで用語を代用する場合
> fo <- a ~ b + c
私は
> pryr::substitute_q(fo, list(a = as.name('happy')))
happy ~ b + c
今、私は名前としてそれを置き換えることができ、substitute_q
> pryr::substitute_q(fo, list(a = '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」を代用する方法はありますか?ベースRで
に強制変換する
deparse
を使用しています。 'func1(a、b)〜func2(" e "、10)+ b * c + func3(d)'私は 'reformulate'が不足していると感じます。このような複雑なケースに適応できますか? –