こんにちは、usagi-sanです。
R言語の自作パッケージを紹介します。
統計解析のアルバイトをしている中、暇な時間を見つけて自分でパッケージを作ってみました。
Rのパッケージには、統計解析用のパッケージ(生存時間解析など)は多数ありますが、データ整形やエクセルファイルの色塗りなどの統計解析以外のパッケージは見つかりませんでした。
そこで、「パッケージがないなら自分で作ればよくね」という発想で、作ってしまいました。
作るとかいいつつ、結局最後まで作らないのがほとんどですが、今回ばかりは本気になって作りました。
githubからRにインストール可能なので、ぜひぜひ使ってみてください。
githubからのインストール方法については、ここで説明しています。
パッケージUsagiSan
今回紹介するパッケージUsagiSanには、以前R言語の記事で紹介した自作関数が含まれています。
Usagisanをインストールすることで、以下の記事に書かれている関数を使用できます。
R言語 解析結果を自動で色塗りできる関数【エクセル操作不要】
こんにちは、usagi-sanです。 R言語で統計解析を行う際、検定結果がsummary(ans)の中にリストとして格納されているため、検定結果の操作が難しいと思う方が多いと思います。 また結果の表を ...
続きを見る
R言語 解析に用いるファイルを自動で整理する関数【フォルダーの作成不要】
こんにちは、usagi-sanです。 今回は統計解析で用いる解析データ(csvやexcel)、そのデータを解析するプログラミングファイル(ファイル.R)、統計解析などの結果のファイル(csvやexce ...
続きを見る
R言語 自動でデータ整形してくれる関数【データ整形不要】
こんにちは、usagi-sanです。 今回はデータ解析に役立つ関数を作ってみました。 自分がアルバイトをする中で、データ整形(データクレンジング)に用いる時間が勤務時間の9割に及び、肝心な統計解析にミ ...
続きを見る
R言語 エクセルに色を塗る【自作関数】
こんにちは、usagi-sanです。今回は、R言語でエクセルファイルに色を塗る方法を紹介します。 統計解析を行う中で、解析結果の表などをエクセルに保存することがあると思います。解析結果を見やすくするた ...
続きを見る
R言語 ベクトルやリストの操作 appendやinsertを導入する【自作関数】
こんにちは、usagi-sanです。 今回は、R言語のベクトルやリストの操作を紹介していきます。 Rでは、ベクトルやリストなどのオブジェクトがありますが、これらのオブジェクトには他の言語に存在するメソ ...
続きを見る
R言語 データ集計が簡単に行える関数【自作関数】
こんにちは、usagi-sanです。今回はデータ集計に関する関数を紹介します。 データ解析を行う上でデータ集計はほぼ必須である上、列数が多いデータの集計は非常に面倒です。 いちいちrbindやcbin ...
続きを見る
R言語 rbindやcbindを使いやすくしてみた【自作関数】
こんにちは、usagi-sanです。 今回は自作関数の紹介をします。 ベクトルやデータフレームを簡単に縦、横方向に結合できる関数を作ってみました。 R言語でベクトルやデータフレームを結合させる際、デー ...
続きを見る
各関数の使いかたは、次のようにhelp(UsagiSan)やhelp(関数名)で参照することができます。
説明が英語でありわかりにくかったり、具体例がなくどうやって使うのか分からないという方は、上で紹介している記事を読むことをお勧めします。
関数の引数の説明から、実行例を画像付きで紹介しているのでhelpより分かりやすいと思います。
次に、パッケージUsagiSanの便利な関数を紹介していきます。上の記事の関数のうち特に便利な関数をまとめました。
excelColor
excelColorを用いると、cvsファイル上の統計解析の検定結果を自動で色塗りすることができます。
関数excelColorは、下の画像のように検定結果のヘッダーに色を塗ったり、有意な変数とp値に色を塗ることが可能です。
ポイント
検定結果を編集する際に非常に便利です。p値を色で強調することができるので、視覚的にも見やすくなります。普通にエクセル上で色塗りを行うと、誤って有意ではない変数に色を塗ってしまったり、色塗りに多くの時間がかかってしまいますが、これを使えば一瞬で正確に色塗りを行うことができます。
excelHeadColor
excelHeadColorをもちいると、csvファイル上のヘッダーに色を付けることができます。
関数excelHeadColorは、下の画像のように集計表などのテーブルのヘッダーに色を塗ることが可能です。
検定結果以外の表のヘッダーに色を塗りたい場合に非常に役に立ちます。
mkDirectries
mkDirectriesを用いると、Rスクリプトの作業ディレクトリ中のファイルを自動で整理してくれます。
関数mkDirectriesは、下の画像のようにRの作業ディレクトリ中のファイルを自動で整理してくれます。
上の画像のように、作業ディレクトリ中のファイル(.Rや.csvや.xlsx)などを解析データのフォルダ、.Rファイルのフォルダ、解析結果ファイルのフォルダの3種類に整理してくれます。
ポイント
単にファイルを、解析データ、プログラミングファイル、解析結果のファイルの3種類に整理する以外にも、拡張子別に整理する機能があり、ファイルの整理の時間を大幅に省くことができます。解析に用いるデータ、解析結果が多いときにフォルダをいちいち作る必要がないため、非常に楽です。
dataCleanser
dataCleanserは解析に用いるデータセットを統計解析に用いやすいフォーマットに変更してくれます。すなわちデータクレンジングを自動で行ってくれます。
関数dataCleanserは、character型の列がnumeric型、factor型、Date型であるのかを判別し、自動でデータ整形してくれます。
ポイント
普通にデータ整形を行うと6時間もかかってしまいましたが、この関数を用いるとデータ整形が10分に削減できました。大幅に解析時間を削減することができ、解析結果のチェックに十分な時間を割くことが可能となりました。
パッケージのインストール方法
まず、R言語の開発者向けのパッケージdevtoolsをインストールします。
次を実行し、devtoolsをインストールしましょう。
1 | install.packages("devtools") |
これで、パッケージUsagiSan をインストールする準備ができました。
次では、UsagiSanのインストール方法から、パッケージの注意点を説明していきます。
次に、GitHubからUsagiSanをインストールしていきます。通常、R言語のパッケージをインストールするときは、CRANから、install.packages("パッケージ名")を用いて、インストールします。パッケージUsagiSanは、開発の都合上、GitHubからのみインストール可能となっています。
次のように、devtools::install_github("usagi-san-dayo/UsagiSan")を実行することで、パッケージUsagiSanをインストールすることができます。
1 | devtools::install_github("usagi-san-dayo/UsagiSan") |
上を実行すると、環境によって下の画像のように質問されることがあります。
Enterを押して、無視して大丈夫です。
インストールが行われると次の画像に、パッケージのインストールの詳細がコンソール上に表示されます。
これで、パッケージをインストールすることができました。
後は、通常のパッケージと同様に、次のようにlibrary(UsagiSan)を実行することで、パッケージ内の関数を用いることができます。
1 | library(UsagiSan) |
コンソール上で、上で紹介した関数を入力すると次の画像のように、パッケージの関数の詳細が表示されます。
また、関数helpを用いることで、パッケージの説明やその関数の説明を読むことも可能です。
help(関数名)で各関数の説明、help("<UsagiSan>")でパッケージの概要を読むことができます。
次を実行するとHelp上に次の画像のような、R-Documentationのページが表示されます。
関数の引数の一覧や、その引数の説明などを読むことが可能です。
最後に、このパッケージのインストールについての注意点を説明します。
ココに注意
パッケージのインストールに関する注意点として、パッケージがすでにインストールされている状態でdevtools::install_github()を再度実行すると、パッケージ内の関数が使えなくなることがあります。関数を使おうとするとexecution errorのポップアップが表示され、使用できなくなります。
パッケージがすでにある状態でインストールしようとすると、「強制的にインストールしますか?」という警告を表示しますが、万が一インストールしてしまった場合の解決方法を紹介します。
ポイント
remove.package()を用いて、パッケージUsagiSanをアンインストールした後に、もう一度インストールしなおしてください。関数を使用しようとすると、以前のエラーのポップアップが表示されなくなり、通常通り使用できるようになります。
最後に
アルバイトのなかで使用しているパッケージがものすごい便利だったので、GitHub上で公開しました。
パッケージ内の関数は以前の記事でも紹介してましたが、いちいちダウンロードしたり、アップデートのたびにダウンロードする必要があるため、少々面倒だったと思います。
パッケージで配布することで、個々の環境に依存せずに使用できるようになりました。
あと、このパッケージはどんどんアップデートしていく予定です。記事で紹介した関数をパッケージに追加する予定です。
興味があったら、ぜひぜひインストールしてみてください!