niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R) symbolについて調べる

メモ

formulaを、symbol直打ちではないように作るには…?ということを考えていたのですが、途中で目的が変わっています。 とりあえずメモしないと忘れてしまうので、メモ。

data.frameの列名をsymbolにしてみる。

さて、素朴にやってみると、

iris %>% colnames %>% as.symbol()
#> Sepal.Length

ふむ。。。ひとつだけしか表示されない…?

実は、

とのことで、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!!