1 統計ソフトR及びRStudioについて
統計ソフトR(以下、単に“R”という。)は、キーボードから命令を入力する対話的ソフトウェア。多機能でありながら無料。ニュージーランド、オークランド大学のRoss IthakaとRobert GentlemanのイニシャルR(頭文字R…?)により開発されたことから、Rと呼ぶようになった。Windows、Mac、Linuxなどの多くのOS”Operating System”に対応。さらに、多様なパッケージを追加でき、汎用性が高い。また、そのまま学会発表で使用できるような綺麗なグラフが作成できる。無保証とはいえ、データはオープンソースで活用しやすく、多くの書籍が出ておりトラブル対応も何とかなるので実質的には保障付ソフトと言える。また、Rを使うための総合開発環境IDE"Integrated Development Environment"がRStudio。
2 RとRStudioのインストールについて
(1) Rのインストール:Rは、Rの総合サイトCRAN "Comprehensive R Archive Network","https://cran.r-project.org/"から入手可能。統計理数研究所や筑波大学等のミラーサイトからでもOK。サイト内から“Download and Install R”で、Windows版かMac版を選択しダウンロードする。
(2) RStudioのインストール:Rをインストールした後、RStudioをインストールする。RStudio のダウンロードサイトのURLは "https://posit.co/download/rstudio-desktop/"。個人使用なので“Open Source Edition”を選択。“Download RStudio Desktop”からダウンロードサイトに行き、Windows版かMac版を選択し、OSに適したものをダウンロードする。次に、Rstudioを起動し、メニュー上部の「Tools」⇒「Global Options(編集、表示などの各種設定)」⇒「Appearance」⇒「Editor font」でフォントを変更できる。なお「Editor theme」でテーマも変更できる。プログラミングをする場合には特に多くの文字列が並ぶので、背景が黒色のほうが目が(たぶん)疲れにくいので、ダーク系に設定する人も多い。
【参考1】Rに"psych"(サイコロジー)パッケージを入れると、pairs()関数(散布図行列)やpairs.panels()関数(散布図・相関行列図)等が使える。図の左側にある、散布図、相関係数、ヒストグラムの作成は僅か数秒。同様に、”plot3D”パッケージを入れると、図の左側にあるような3Dのグラフも描ける。つまり、散布図に2変数の関係性を示す直線を描いたり、あるいは、グラフを重ねて描いたり、3変数のグラフを作成したり、することができる点がRの凄いところ。エクセルとRとの違いは、こうしたグラフ作成にあるように思う。後は、フリーであることや過去に記述したプログラムも再利用できる点も大きい。慣れれば慣れるほど面白い。
【参考2】RstudioやEZRをインストールしたけど、最初の表記が英語になっているのが気になる...となってしまった場合について検討します。たぶん、Macの場合は、こうなりやすいのかも...。というのも、私も何度か、MacPCで、RstudioやEZRをインストール、アンインストール、再インストールを繰り返したのですが、どうも解決しませんでした。基本は「Tools」⇒「Global Options(編集、表示などの各種設定)」⇒「language」からの選択のはずなのに、これもダメ...。ただ、Rのコンソールに「system("defaults write org.R-project.R force.LANG ja_JP.UTF-8") 」と入力する。これで、英語表示問題はひとまず解決。。。
それでは、いよいよ、R Consoleというウィンドウで作業をして、簡単な実習を通じて使い方を確認しよう。
>(プロンプト@"Prompt", 促す)に何らかのコマンド(命令)を入力。※ >プロンプト <- 現在入力を受け付けている状態
【例】> 1+1 ⇒『1+1と入力した結果は、次のように表示される』⇒ [1] 2
なお、xに5、yに2を代入する場合は、左向きの矢印 <- ( < のあとに、スペースを入れずに ー ) を使う。矢印(<-)ではなく、等号(=)でも同じ意味なのですが、ここは「郷に入っては郷に従え」の気持ちで、矢印(<-)に慣れていこう。
例えば、> a <- 1(オブジェクトXに1を格納)のつもりが、> a< ー1というように、『<』と『ー』の間にスペースを入れると、”FALSE”(エラー)と表示される。(それにしても、見た目上は、aはー1よりも小さいというコマンドにも見える。)だから『気を付けよう。暗い夜道と無用なスペース。』
【例】> x <- 5(オブジェクトXに5を格納)
> y <- 2(オブジェクトYに2を格納)
> x*y(格納したXとYを召喚?FFっぽく言ってみた。) ⇒ [2] 10
なお『<ー』の前後にスペースを入れなくても良い。迷う時は「半角英数、スペースは入れない」という方針を信じてください。関数電卓をイメージするとエクスポーネンシャル、アーク、ハイパーボリックとかは…、等と思うけど『安心してください。あります。”Don’t worry, I'm wearing…?”』
【例】> sin(pi) ⇒ [3] 0.841471
> pi ⇒ [4] 3.141593(『産医師(314)、異国に(1592)向かう(65)、産後(35)、役無く(8979)、産婦(32)、都城に(38462)...』みたいに覚えた。)
> exp(1) ⇒ [5] 2.718282(『フナ(27)、いちはち(18)、にいはち(28)・・・』みたいに覚えた。)
> log(exp(1)) ⇒ [6] 1
計算は、エクセルで説明した「算術演算子」そのもの。(例えば、『*』は掛け算、『^』はべき乗。平方根は『^(1/2) 』でもいいですが、sqrt( )関数も使用可能。)他に使える関数は,絶対値はabs( ),双曲線関数“hyperbolic function”は,sinh( ),cosh( ),tanh( ),逆三角関数はasin( ),acos( ),atan( ),逆双曲線関数はasinh( ),acosh( ),atanh( ),ガンマ関数はgamma( )...等。この段階で、Rが電卓代わり(というよりも関数電卓代わり)になった。
【参考】『<-』で格納した後に、同じ文字をもう一度、格納すると上書きされる。ただ、右の図では、一見すると上書きされていない。何故でしょうか。もう一度、図を良くみてください。大文字と小文字を区別しているんですね。これは、日本語、英語、というのを入れ替えながら入力しようとするとこの手のミスが出てきやすいので注意が必要。だから、基本的な方針は『半角英数で、スペースを入れない』というのが良いような気がします。
図の①がRで実際にコマンド入力をする部分。ここに>(プロンプト)が表示される。②に設定した変数”Environment”や入力してきた履歴”History”が表示される。③にフォルダのファイル”Files”、グラフ”Plots”、パッケージ“Packages“、ヘルプ"Help”が表示される。これらは、Windowsならマイドキュメントのフォルダの中を指している。そこで、Rで用いたファイルを一括してまとめておきたい場合はC:¥Users¥Yamaoka¥Documentsに『Data』等の作業フォルダWd"Working directory"を作成し、そこに一括して保存するのも良い。フォルダ作成後、「Tools」⇒「Global Options」⇒「General」⇒「Default working directory」で指定しておく(次節でもう少し詳細に説明)。Rを終了するときは、右上の×(終了ボタン)で。データをセーブしたいときは、コマンドでq()あるいはquit()。
(3) 環境設定
(3-1)Dataフォルダについて
ホームフォルダにアクセスすることは多いので、WindowsではマイドキュメントにDataフォルダを作り、MacではユーザーのホームフォルダにDataフォルダを作ります。そのDataフォルダにデータを入れるようにしていきます。また、RStudioを起動したら、Tools内のGlobal Optionsを選び、BrowseボタンでDataフォルダを選び、OKを押し、RStudioを終了します。その後、RStudioを立ち上げると、FilesにDataフォルダの中身が表示されるようになります。
(3-2) エクセルデータについて;CSVファイルの利用
CSV”Comma Separated Values”は、カンマで区切られた値のことで、Excelファイルの書式設定情報がないので軽い。ワード、一太郎ではなく秀丸、としていたときの判断と同じ。シンプルで汎用性が高い。作成したファイルは作業ディレクトリ(>getwd()で確認できる)に保存する。
🔴🔴<-read.csv(file.choose(),header=TRUE)として作成したCSVファイルを読み込むとOK。念のため、>head()、>tail()、summary()、str()、anyNAなどで、CSVファイルが読み込めたのかを確認してみよう。
(4) パッケージのインストール
Rは、関数やデータを分野ごとにパッケージとしてまとめています。これは、最初にまとめてインストールしていなくても、後から追加することが可能です。これは、コマンドを用いてインストールできます。例えば、knitrというパッケージなら、次のようになります。なお、”dependencies = T”は、インストールする必要があるものも追加で含めたパッケージをインストールすることになります。パッケージを利用する場合は、library()を忘れずに。
> install.packages("knitr",dependencies = T)( 最後の文字は、Tとか、TRUEとか、1とか。。。)
> library(knitr)
(5) いろいろなパッケージ
5-1. グラフィックス機能に関するパッケージ
graphics,grid(grid を使う際には ggplot2 や lattice などのパッケージを利用することが多い)
5-2. その他のパッケージ例
arules,rpart,rpart.plot,nnet,RMeCab
※なお、>library() と入力すれば、パッケージ一覧をみることができる。
3 簡単な統計計算
コンピュータと人間の感覚の違い。コンピュータと人間は「忘れる」ことが大きな違いで人間は「忘れる」という能力(必ずしも消極的な意味だけではない、コンピュータにはない素晴らしい能力)を持っていることが90年代に再確認された。同様に、次の計算でも差が出るところ。
> 0.5-0.4-0.1 [1] -2.775558e-17 > 0.5-0.3-0.2 [1] 0
※ 小数点の前を含め、0が17個という数なのでほぼ正解とも言える。誤差の考え方は難しい。”To think, or not to think, that is the question.”
>tall <- c(160,163,138) ※ c()は、まとめる”Combine”関数
>mean(tall) ※ mean()は、平均
>sd(tall) ※ sd()は、標準偏差(不変分散の正の平方根)
>
>
>
>
>
【参考文献】秋光淳生(2020)、改訂版 データの分析と知識発見、放送大学教材.
4 Excelとの違い
(1) コード
スクリプトを保存しておけば、何度でも使用できる。従って、よく使う検定などは、いつでも使えるように準備しておけば、すぐに対応できるようになる。
(2) 図・グラフ
3Dの図が描けたり、add関数でグラフを追加できたりする点は、統計ソフトRの魅力の一つと言える。
バルーンプロットの図は、学校教育現場で良くとるアンケートに対応したもので、使い勝手は良いと思う。
(3) RMeCabパッケージでは、テキストマイニングもできてしまう。
※ 今一度、自分自身は何をするために、統計ソフトRを使いたい、と思っているのかについて整理してみよう。その内容によっては、当分の間は、Excelを使いこなした方が良いかもしれない、という考え方になるかもしれないし、統計ソフトRを使った方が、圧倒的に効率的、という状況になるかもしれない。今一度、Excelとの違いは何か、について整理してみましょう。
Rで困ったら...
以下に3つの対処法を述べますが、大切な事は「仮にうまく行かなくても、試行錯誤を重ね、プログラムを書きかえながら、Rと対話しながら、解析を進めること」です。忘れてはいけない、Rは対話型ソフトウェアであることを。
1 ヘルプ
(1−1)関数名が分かるとき
>?mean または >help(mean);(関数の前に?かhelpを入力)
(1−2)関数名が分からないとき
>??correlation;(分からない単語の前に??かhelp.searchを入力)
2 インターネット検索(ChatGPTも含む)
3 著書で調べる(人に聴くも含む)
【参考文献】村井潤一郎(2013)、はじめてのR、北大路書房.