SPSSやSAS、Pythonそしてエクセルなどデータのまとめや解析処理をおこなうソフトウェアは多数存在します。
オープンソースという点ではPythonも同じですが、Rはデータ解析処理に特化しかつ労力少なく解析できるように開発されてきた歴史があります。また、多くのオープンソースのソフトウェアと同様に誰でも使用でき、習得すると所属組織が変わったとしても末長く利用し続けることができます。
最近では、エクセルなどと同様に「からだにいいもの」やグーグルなどで「R やりたいこと」を検索すると大抵は期待する情報が簡単に手に入るようになりました。Rをバージョン2.3の頃から使用していますが、ここまでRの利用が普及するとは想像していませんでした。
最近では学術分野以外にもウェブ解析や顧客アンケート解析などビジネス分野でRの利用が急速に広がってきている感じがします。営業資料・ブログ・ポスターなどの資料でRを利用した図を多く見かけるようになりました。
Rに関する記事はURL末尾を”analyticsr/r-hoge”としています。本記事でやっと「90」となりました。Wikipediaで90を検索すると2桁で最大のハーシャッド数、合成数、直角を示す単位だそうです。
そこで、記事90番目を記念してRの利用がさらに拡大することを期待して「Rのガイド:研究者も、社会人も、おねえさんも。とりあえず、みんなで使ってみませんか?」を作成しました。
今後も「からだにいいもの」が皆様の生活に役に立てばと思います。
Rでどのようなことができますか?
数値のまとめや解析はもちろん、パッケージを追加でインストールして、テキストマイニングやGoogleAnalyticsやTwitterなどの解析や、jpegやpngなどの画像解析ができます。もちろん、エクセルやSPSS・SASなどのデータを読み込むこともできます。また、探索的なデータの解析が必要な方向けにインタラクティブな図を出力するパッケージもあります。
どこでRをダウンロードできますか?
Rは本家CRANやミラーサイトからダウンロードできます。リンクはサーバー状況によりアクセスできない時があります。その場合は本家CRANにアクセスしてください。なお、紹介時のRのバージョンは3.2.0です。
本家CRAN:http://cran.r-project.org/
国内ミラー:http://cran.ism.ac.jp/ (統計数理研究所)
リンクにアクセスするとRのダウンロード先が表示されます。赤枠の使用OSのリンクをクリックします。
WindowsとMacではクリック先の表示が少し違いますので紹介します。
<Windowsの場合>
赤枠のBaseをクリックします。
赤枠のDownload R-hoge for Windowsをクリックするとダウンロードが始まります。
<Macの場合>
赤枠のR-hoge.pkgをクリックするとダウンロードが始まります。
インストールする時の注意は?
Windows、Mac共にダウンロードしたファイルをダブルクリックしてインストールします。表示される指示に従いクリックすることでインストールは無事に完了します。しかし、Windowsの場合、通常のインストール方法ではRから外部へ通信できない場合があります。その場合、コンポーネントの選択の次に表示される「起動時オプション」でカスタマイズを選択し、インターネット接続で「Internet2」を選択してください。
<起動時オプションダイアログ>
<インターネット接続ダイアログ>
無事にインストールが終わると、Windowsはデスクトップに。MacはアプリケーションフォルダにRのアイコンが表示されます。
Rのアイコンをダブルクリックするとコンソールが表示されます。
<Windows>
<Mac>
これで、無事にRをインストールすることができました。
Rはコマンドを入力して使います
Rは基本的にはコンソールにコマンドを入力して使用します。下記のコマンドをコンソールに入力してください。
c(1, 2, 3, 4) [1] 1 2 3 4 x <- c(1, 2, 3, 4) y <- c(10, 9, 8, 7) #図の描写 plot(x, y) [/code] 実行すると図が表示されます。 <a href="https://www.karada-good.net/wp/wp-content/uploads/2015/05/fig11.png"><img class="aligncenter wp-image-2910 size-medium" src="https://www.karada-good.net/wp/wp-content/uploads/2015/05/fig11-400x402.png" alt="fig11" width="320" height="322" /></a> Rでは"<-"でデータや結果をオブジェクト(コマンド例ではxやy)に代入することができます。また、1行目のように代入せずに直接結果を表示することもできます。なお、コメントアウトには"#"を使用します。 オブジェクトには図のデータも代入することができます。表示するには変数を実行します。 [code language="R"] PlotData <- plot(x, y) PlotData [/code] 算術演算子の多くはエクセルと同じです。 [code language="R"] #足し算 x + y [1] 11 11 11 11 #割り算 x / y [1] 0.1000000 0.2222222 0.3750000 0.5714286 #掛け算 x * y [1] 10 18 24 28 #べき算 x ^ y [1] 1 512 6561 16384 #剰余 x %% y [1] 1 2 3 4 [/code] <h2>デモの紹介</h2> 各パッケージのデモを実行することができる"demoコマンド"があります。コマンドを実行すると対応パッケージが表示されます。"demo(パッケージ名)"でデモが実行されます。初期状態で実行できるデモは下記の通りです。 <a href="https://www.karada-good.net/wp/wp-content/uploads/2015/05/fig12.png"><img class="aligncenter wp-image-2911 size-medium" src="https://www.karada-good.net/wp/wp-content/uploads/2015/05/fig12-400x439.png" alt="fig12" width="320" height="351" /></a> デモの紹介 #グラフィックのデモ demo(graphics) #数学記号のデモ demo(plotmath)
データ(オブジェクト)には属性(クラス)の概念があります
Rの操作で押さえておきたい概念に、クラスがあります。パッケージによっては対応するデータのクラスが指定され、該当するクラスでなければエラーが起きます。なお、Rにはデータのクラスを簡単にチェックするclassコマンドがあるので「あれ?おかしいな?」と感じたら"classコマンド"でデータの属性をチェックすると良いと思います。下記にRのクラスを紹介します。
クラス名 | 内容 |
---|---|
character | 文字 |
integer | 整数 |
numeric | 数字 |
double | 倍精度実数 |
complex | 複素数 |
logical | 理論値 |
factor | 因子 |
raw | バイト型 |
matrix | 行列 |
array | 配列 |
list | リスト(異なるクラスのデータを保管できます) |
data.frame | データフレーム |
また、クラスは構造をもっています。構造のチェックには"strコマンド"を使用します。データフレームやリストなどの処理で役に立ちます。
#数字クラス TestClass1 <- c(1, 2, 3, 4) class(TestClass1) [1] "numeric" #文字列クラス TestClass2 <- letters[1:4] class(TestClass2) [1] "character" #リストクラスに格納 TestList <- list(TestClass1, TestClass2) class(TestList) [1] "list" #リストの構造を確認 str(TestList) List of 2 $ : num [1:4] 1 2 3 4 $ : chr [1:4] "a" "b" "c" "d" [/code] データフレームの作成時に数字クラスと文字クラスが混在していると、文字クラスはfactor(因子)に変換され想像しないエラーを起こすことがあります。因子にしたくない場合は"Iコマンド"を使用します。 [code language="R"] TestDataFrame <- data.frame(TestClass1, TestClass2) class(TestDataFrame) [1] "data.frame" #構造を確認。リストと異なりTestClass2がfactor(因子)に変換されています。 str(TestDataFrame) 'data.frame': 4 obs. of 2 variables: $ TestClass1: num 1 2 3 4 $ TestClass2: Factor w/ 4 levels "a","b","c","d": 1 2 3 4 TestDataFrame[, 2] [1] a b c d Levels: a b c d #データフレーム作成時に因子化を防ぐ TestDataFrame2 <- data.frame(TestClass1, I(TestClass2)) str(TestDataFrame) 'data.frame': 4 obs. of 2 variables: $ TestClass1: num 1 2 3 4 $ TestClass2:Class 'AsIs' chr [1:4] "b" "d" "c" "a" #文字列のままです TestDataFrame[, 2] [1] "b" "d" "c" "a" [/code] <h2>パッケージを導入しなくとも多くの図が描写できます</h2> Rで図の作成といえばggplot2やplotrixが有名です。でも、これらのパッケージを導入しなくともRの基本コマンドで多くの図を描写することができます。デモを確認してみてください。 #グラフィックのデモ demo(graphics)
なお、MACを使用し日本語をプロットすると通常は文字化けします。文字化けの防止には下記コマンドを実行してください。
familyには"HiraMinProN-W3"や"HiraMinProN-W6"、"HiraKakuProN-W6"なども使用することができます。
#plotコマンドでの文字化け防止 par(family = "HiraKakuProN-W3") #参考ggplot2の場合 theme_bw(base_family = "HiraKakuProN-W3")
棒グラフと円グラフの描写例
棒グラフと円グラフの描写例です。日本語ももちろんOKです。
#棒グラフの描写 barplot(TestDataFrame[, 1], names.arg = TestDataFrame[, 2], col = c("#d9bb9c", "#deb7a0", "#4b61ba", "#e1e6ea"), main = "棒グラフの例")
#円グラフの描写 pie(rep(1, 4), col = c("#d9bb9c", "#deb7a0", "#4b61ba", "#e1e6ea"), main = "円グラフの例")
パッケージのインストール
Rのパッケージ配布サイトはCRANやライフサエンス分野専門のパッケージを配布しているBioconductor やGithubなどがあります。GithubからのインストールにはCRANからdevtoolsパッケージのインストールが必要です。
CRAN:http://cran.r-project.org/web/packages/available_packages_by_date.html
Bioconductor :http://www.bioconductor.org/
Github:https://github.com/
パッケージのインストールコマンドを紹介します。各サイトにより異なります。
#CRANからのインストールコマンド install.packages("パッケージ名") #Bioconductorからのインストールコマンド source("http://bioconductor.org/biocLite.R") biocLite("パッケージ名") #Githubからのインストールコマンド #はじめにdevtoolsパッケージのインストールが必要です #install.packages("devtools") install_github("パッケージ名")
コマンドの入力以外の使用方法
RにはSPSSやSASのようなGUIで操作できるパッケージがあります。なかでも、自治医科大学附属さいたま医療センター血液科神田善伸先生が公開しているRコマンダーをカスタマイズしたEasyRは非常に便利なパッケージだと思います。
EasyR:http://www.jichi.ac.jp/saitama-sct/SaitamaHP.files/statmed.html
Rをもっと使いやすくするために
Rにはコマンド入力が楽になるよう、いくつかの総合開発環境のソフトウェアが用意されています。なかでも、RStudioが便利かと思います。インストールしておくと解析が楽になると思います。
RStudio:http://www.rstudio.com/products/RStudio/#Desk
おまけ:からだにいいもので紹介した記事でアクセスが多い記事
テキストマイニングとタグクラウド
初心者でもできる!RでGoogle Analytics解析の目次
Twitterデータの取得もおまかせ「twitteR」パッケージの紹介
いろいろなファイルを読み込み、書き出しができます。「rio」パッケージ
画像のカラーコードを取得する方法!「EBImage」パッケージの紹介
統計・アクセス解析ツールR:エクセルファイルの読み書き
インタラクティブな散布図作成!「pairsD3」パッケージ
少しでも、あなたのウェブや実験の解析が楽になりますように!!