メモ
formulaを、symbol直打ちではないように作るには…?ということを考えていたのですが、途中で目的が変わっています。 とりあえずメモしないと忘れてしまうので、メモ。
data.frameの列名をsymbolにしてみる。
さて、素朴にやってみると、
iris %>% colnames %>% as.symbol() #> Sepal.Length
ふむ。。。ひとつだけしか表示されない…?
実は、
tibble()だといけますね。map(as.symbol)はたぶんrlang::syms()です。unlistが受け付けられないのは、シンボルのベクトルが存在しないからです。
— Hiroaki Yutani (@yutannihilation) 2017年12月24日
とのことで、colnamesのあとas.listでlistにしてからunlistしたり色々やったのですが、最終的に得ようとしているsymbolのベクトルがそもそも存在しないので出来ないのでした。
また、data.frameにもsymbolの列を含むことはできません。
しかし、tibbleなら要素にsymbolを持つことが出来ます。
iris %>% names(.) %>% rlang::syms() %>% tibble() #> # A tibble: 5 x 1 #> . #> <list> #> 1 <symbol> #> 2 <symbol> #> 3 <symbol> #> 4 <symbol> #> 5 <symbol>
まぁどちらもyutannihilationさんに教えていただいたことのままなのですが…。
さて、肝心のformulaですが、まだ答えを持っていません…。どうするのが良いのかな…。modelrあたりが出来そうな気もするんだけど(使い方完全に忘れた)
ツイートをまとめただけみたいになってしまった…。 symbolについてはもうちょっと調べていきます。
Enjoy!!