【R】tk_select.listを使ってGUIで変数選択

2023-01-15

Rで作図や分析をする場合、変数名を毎回指定する必要があります。

定型作業はRスクリプト内に入力すれば済みますが、毎回違うデータを分析する場合(特に他人から依頼された場合)はデータセットを見ながらスクリプトを作るので少々手間がかかります。

なので、「tk_select.list」を使ってGUIで変数を選択できるようにしました。

Tcl/Tk

Tcl/Tkは、GUIを構築するためのスクリプティング言語(Tcl)とライブラリー(Tk)が含まれるソフトウェア・ツールキットで、Windows、MacOS、Linuxなど様々なオペレーションシステム上で利用可能です。

Tkの機能でボタン、ラベル、テキスト・ボックスなどのウィジェットを使ってGUIを構築し、Tclは動作を制御したり、他のソフトウェアとやり取りするために使用されます。

そして、RからTcl/Tkを利用するためのパッケージ「tcltk」を使うとRスクリプトをGUIにできます。

tk_select.list

Tk のリストボックスを使い文字列ベクトルから項目を選択する.

Package 'tcltk’ – MRTG Index Page

library(tcltk)
list.sample <- c("a", "b", "c")
tk_select.list(list.sample, preselect = NULL, multiple = TRUE, title = NULL)

こんな感じでシンプルなウィンドウが表示されます。

multiple = TRUEにしているので、複数選択も可能です。

実行結果

[1] "a" "c"

変数選択に利用

colnamesでデータセットのカラム名をリストにします。

library(tcltk)
Dataset <- iris
colname <- colnames(Dataset)
selectcol <- tk_select.list(colname, preselect = NULL, multiple = TRUE, title = NULL)

実行結果

選んだ変数名が「selcetcol」に代入されるので、その後の作図や解析に使えます。

まとめ

単体で使う事は少ないですが、ちょっとした時に知っていると便利なコマンドです。

自分が作ったデータで使うは少ないですが、他人が作ったデータだとカラム名の命名規則も違うので結構困る事が多いので、楽をしたくて作りました。