blog

整理の重要性

もろもろのコードや文章を作ったときには詳しい内容を覚えている. でも,ちゃんと整理しておかないと内容をすぐに忘れてしまう. 特に時間が立つと最初から内容を理解しないといけなくなる. 分かってはいるが,後からでもわかるぐらいに整理しておくのが大事だ. 研究でちょっとしばらく触っていなかったコードを整理するのに苦戦している.

pivoteapy

時間割などのような文字列のピボットテーブルをするために,pivoteaというパッケージをRで作った. https://github.com/matutosi/pivotea また,それをもとにしたwebアプリも作った. https://github.com/matutosi/convex 最近はPythonを勉強しているので,練習を兼ねてpython版を作成している. しっかりしたライブラリにまとめるにはかなりの時間がかかるが,基本的な動作自体はだいたいできてきた.

週間の縦型カレンダーを生成するアプリ

カレンダーは毎年週間の縦型のもので,自作のものを使っている. 市販品ではメモ欄が一番左にあるが,自分の好みである一番右にしている. また,定型の予定は事前にプログラムで書き込んでいた. 最近,Pythonを勉強しているので,TeX版をPythonに書き直した. だいたい求めるものができた. さらに,streamlitというwebアプリ作成のライブラリがあるので,web版にしてみた. 個人の好みはそれぞれなので,1月始まり・4月始まり,レイアウトの左寄せ・右寄せ,日曜日・月曜日始まり,1日の開始・終了時刻はweb版ではカスタマイズできるようにした. https://vercal.streamlit.app/ 定型の予定は以下の形式のエクセルファイルを作れば,繰り返してくれる. period_start period_end week_of_day event_start event_end event except 2025-04-10 2025-07-10 wed 10:30 12:00 数学 2025-05-07;2025-05-14 2025-04-10 2025-07-10 mon 12:30 12:30 開始のみの予定 定型予定のファイルの詳細は以下を参照してほしい. コードもすべて公開している. https://github.com/matutosi/vercal 使い方は,なんとなくわかりそうだとは思う. でも,説明はまだ全然なので今後整理していこう.

pivoteaとpivoteapy

pivoteaのPythonの関数自体はできてきた. せっかくなので,Pythonの環境がなくても実行できるように,TkEasyGUIとPyinstallerを使ってexeにする予定.

pivoteaとpivoteapy

pivoteaというRのパッケージをPythonに変換している. Geminiに相談してコードを変換したが,やはりそのままでは駄目で,エラーがでる. でも,Pythonにも少し慣れてきたので,ちょっとずつデバグしていったら,それなりには動くものになってきた. うまくできたら,“pivoteapy"として公開できるかもしれない. Pythonののパッケージとしてまとめるだけでなく,さらにPythonからRに戻すと,言語の翻訳と同じでRのコードが簡潔になるような気がする. 例:不自然な英語 –(AIで翻訳)–> 他の言語 –(AIで翻訳)–> 自然な言語 Geminiにリファクタリングを頼むのとどちらがきれいなコードになるのか試してみよう. https://cran.r-project.org/web/packages/pivotea/index.html

easypdf

easypdfでPDFの文字列を強調表示するものを作成した. https://github.com/matutosi/easypdf

easypdf

easypdfというのを作った. 作ったというほどのものではないが,Windowsの .exe 形式の実行ファイルなのでプログラミングをせずとも使える. とりあえずは,PDFの結合をするだけのものを公開した. 使い方は以下をご覧ください. https://github.com/matutosi/easypdf

発表資料

論文とか学会発表などの資料の公開ページへのリンク. https://www.dropbox.com/s/wz0c13ksncvjh3k/link.txt?dl=0

textrar

textrarというRのパッケージを作った. textrar: https://cran.r-project.org/web/packages/textrar/ みんなの自動翻訳という翻訳サービスをRから利用するものだ. APIは整備されているのだが,使い方がちょっとややこしいので,簡単に使えるようにした.

screenshot

画像認識してクリックするパッケージとして,PythonではPyAutoGUIがある. 知っている範囲では,同じようなものがRではなかった. Rでは,マウス・キーボード操作の自動化パッケージとしてkeyboardsimulatorがあるが,画像認識の機能がなかった. そこで,その機能を補完するものとして,screenshotというパッケージをつくってCRANに登録した. なお,このパッケージには,Rからスクリーンショットをとる関数と,画像を元にスクリーン上での位置を特定する関数などがある. keyboardsimulatorと組み合わせると,便利なはずだ. ちなみに,これまでCRANに登録したパッケージには以下のものがある. moranajp: https://cran.r-project.org/web/packages/moranajp/ ecan: https://cran.r-project.org/web/packages/ecan/ clidatajp: https://cran.r-project.org/web/packages/clidatajp/ pivotea: https://cran.r-project.org/web/packages/pivotea/ screenshot: https://cran.r-project.org/web/packages/screenshot/