fixes パッケージがCRANに公開されました!

パッケージがCRANに公開された話

果たして分析者が使ってくれるほどになるだろうか…。

公開

2025年3月23日

春休みの成果

自分の修士論文だったり先輩後輩との研究だったり、昨年末あたりからDID分析をすることがまぁまぁ多かった。DID自体は比較的簡単に分析を回せるから別にいいんだけど、いかんせんイベントスタディが面倒くさかった。fixesti()関数があることは知っていたものの、あまり使い勝手が良くないなと思っていたので、修士論文が年始に書き終わったタイミングでイベントスタディ用のパッケージを開発しようと決めた。

他のパッケージのソースコードを何個か見たことがあったのでその複雑さは知っていたものの、幸いにも今はAIが発展してきているので、なんとかなるだろうという楽観的な気持ちで始めてみた。

結果的になんとか書き終わったものの、その道のりは思ったよりも大変だった。

意外と考えることは多い

何が大変だったかというと、変数の扱いがある。変数をダブルクォーテーションで囲んで指定するというのは個人的に面倒だな~と思っているので、なるべく囲まなくていいようにしたかったのだが、これがまぁ難しい。いくらAIが助けてくれるとはいっても、今の段階では「とはいえAI」だと思っているので、書いてくれたのが間違っていた時がしんどい。ダブルクォーテーションで囲まなくてよくするのがこんなに大変なのかと、これまでのパッケージの開発者の方々には尊敬の念を抱くばかりだ。

次は条件分岐。もし存在しない変数が入力されたり、値が存在する範囲をはみ出していたりすると警告やエラーメッセージを出さなくてはならない。今も完璧ではないかもしれないが、ある程度は対処できているとは思う。しかし、自分の想像しない入力があったりすると、対応できていないことがあるかもしれない。今後もこうしたことが見つかってくると思うと、メンテナンスの意義をひしひしと感じる。

関数ができてからも長い

関数ができたまではいいものの、結構提出するまでが長かったりする。パッケージをビルドしてドキュメントを作成し、タイポをチェックしたりと、やることは多い。コード例やテストコードを書いたりしなくてもならない。RStudio上でコマンドが用意されているものの…という感じではある。

このあたり忘れそうだから、またtipsでまとめたいな。

けどCRANに公開できたのは大きい

しばらくはCRANに公開するつもりもなかったのでGitHub上で公開しているだけだったのだが、どうせならinstall.packages()でインストールできるようにしたいし、なんか実績っぽくていいかなという思いもあったので、やっぱり公開することにした。

新しくNEWS.mdを書かなきゃいけなかったりいくつかステップは必要だったものの、提出自体はそこまで大変ではなかった。しかし、Windows, Mac, Linuxでしっかり動くことだったり、ドキュメントの中身が精査されたりと、ハードルはGitHubで公開するよりも厳しい。実際提出した後に一回送り返された。

けど幸いにも送り返されたのは一回だけで、二回目の提出で承認された。あまりにもぬるっと掲載されていたのでしばらく気づかなかったのだが、これで春休みの頑張りが一つ結果になった気がしてちょっとうれしかった。

というわけで、掲載されたページは以下。

https://cran.r-project.org/web/packages/fixes/index.html

install.packages("fixes")

でインストールできるようにもなっている。

これからも何か作るかも

とりあえず流れを知ることができたのは大きい。今後も仕事でRを使っていくことが多いと思うので、引き続きなにか効率化できそうなものがあったらパッケージ化していけたらいいなと思う。