R による Data Science のはじめの一歩。
R と、RStudio Cloud の紹介、R と RStudio IDE の Install、簡単な使い方を説明します。 そのあとで、 R の基本を学ぶ、Site の紹介をします。

Data Science は、実際の Data や、それをグラフに表したものを見て興味をもったり、ある Data から得られる事実の説明に疑問をもったり、新しい AI の活用に驚いたりすることが出発点です。そして、自分でも、元の Data を調べ、新たな発見をしたり、根拠や、どの程度の確実性があるかを考えたり、AI にどうしてそのようなことが可能なのか、便利さの影になにか問題は潜んでいないのかを調べてみようと行動を起こす。それが、はじめの一歩です。

本を読んで学ぶことも必要になりますが、まずは、実際の Data にあたることです。しかし、元の Data は膨大なことが多く、ほとんどの場合、目で観察したり、手計算では、手に負えません。Data をいろいろな角度から見、いくつもの切り口で特徴を捉え、グラフなどを使って結果を視覚化するために、コンピュータ言語 R を活用します。RStudio は R を使いやすくするために開発された、総合開発環境 (Integrated Development Environment (IDE)) です。

R and RStudio

R

R is ‘GNU S’, a freely available language and environment for statistical computing and graphics which provides a wide variety of statistical and graphical techniques: linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering, etc. (https://cran.r-project.org)

R を管理している CRAN (The Comprehensive R Archive Network) にある、R の説明です。「統計解析とグラフ作成のための言語と環境」とあり、様々な Data Analysis(データ解析)や数理モデル(Mathematical Models)に対応していることがわかります。最初に、‘GNU S’ とありますが、GNU は、Free Software の意味だとして、Free の意味についても、GNU の Site に書かれています。‘S’ とありますが、これは、R の母体となっている、米国の、Bell Laboratories(ベル研究所)で開発された統計解析ソフトの名称です。

  • Richard Stallman’s TEDx video: “Introduction to Free Software”: GNU の創始者の Richard Stallman の TED での TALK の Youtube Video です。なにが、Free Software かを語っています。英語の字幕を見ることができます。[13’39’’]
  • Graphics(グラフィックス)は、グラフだけを意味する言葉ではありませんし、Data Science でも、グラフとは通常呼ばないものも、視覚化に活用しますが、一般的に使われているグラフということばを使います。引用箇所では、“graphical techniques” とありますから、視覚化技術とする方が適切かもしれません。

RStudio Cloud

Let’s try R online! RStudio Cloud を使って R を Online で。

R は RStudio を使って利用することが一般的になっています。R や RStudio (desktop RStudio IDE) も Free(無償)で、手元の (Local) Computer に Install することが可能ですが、まずは、Online で R を RStudio で使う方法を紹介します。大学・研究機関などでは、RStudio Server を導入しているところも多いと思いますが、ここでは、Free Open Online な、RStudio Cloud を紹介します。

  • Account の取得から Login まで
    1. RStudio Cloud に Access します。
    2. 右上の Sign Up を Click。
    3. Email を入力すると、Password の提案がされます。(これを記録しておいて、使っても良いですが)使用しないとして、Password を設定、First Name, Last Name を入力します。Sign Up をクリックすると、アカウントが作成されます。このアカウントで使用する名前をどうするか聞かれますが、それを決めれば、完了です。Your Workspace という画面に移ります。
      • [Alternative] 他の方法として、Sign Up with Google と、Sing Up with Github があります。自分の Google や、Github のアカウントとリンクすることでもアカウントを作成できます。その場合は、それぞれのアカウントの Password を入力してください。すでに、Google の自分のアカウントに Login していれば、Password は不要です。
    4. New Project を Click または、Project 名を入れて Click すれば、Project が立ち上がります。Project 名を入れてみてください。Learning R などでも良いですよ。あとから、Project 名を入れることもできます。ここからは、Local で RStudio を利用する場合と殆ど同じですから、別途説明します。
    5. 右上の(自分の)名前を選び、Logout すれば、終了できます。
    6. アカウントを作成済みで Login するときは、Sign In を選択し、アカウントで使った、Email Address を入力します。自分しか使わない、Laptop PC などで、Login のときなど、他の形で、Security が保てる場合には、Login 情報を保存しておけば、簡単に、Sign In できますが、危険もありますので、十分注意してください。
  • RStudio Cloud について
    • 2020年3月時点では、beta 版となっており、開発途上であることを示しています。
    • RStudio Cloud Guide: 基本的な解説があります。
    • 25 Projects が上限、公開・非公開・限定公開を選べますが、共同で編集する場合は、10人が上限、1 Project 毎に 1GB が上限とあります。[2020.3.12]
  • RStudio Cloud での R の利用について
    • New Project の決め方以外は、基本的に、Desktop RStudio IDE の使い方と同じですので、対応する項をみてください。

Local Installation of R and RStudio

自分のコンピュータに、R や、RStudio を Install しましょう。 しばらくは、Online だけで学びたい場合は、この項は飛ばしてください。

インターネットが自由に使えない環境にいる場合もあるでしょうし、RStudio はまだ、beta 版ですから、個人で使える、パソコンがある場合には、R や、Rstudio を Install しておきましょう。まず、R を Install してから、RStudio を Install します。

  • R の Download and Installation
    1. CRAN に Access します。
    2. Download R for Linux, Download R for (Mac) OS X, Download R for Windows と並んでいます。Linux, Mac, Windows を選択して、Click してください。
    1. Windows では、Install R for the first time と base のところにありますから、それを選択、Install してください。
    2. Mac では、Latest Release とあるものを、Install しますが、古い Operaton System (OS) を使っている場合は、説明を読んで、適切なものを選択してください。OS の Version が不明のときは、Mac の左上の、リンゴマークの「このMacについて」から情報を得てください。
    1. あとは、他の Software の Installation と同じです。指示に従ってください。
    2. Version は、三つの数字からなっており、3.x.y(または 4.x.y)形式になっています。このページを compile しているのは、R version 3.6.2 (2019-12-12) となっています。二番目の x の部分は、ほぼ一年間に一つずつ大きくなり、3.6.y は 2019年、3.7.y は2020年のものなどとなっています。三番目は、minor change の Version となります。

この R を、Application として立ち上げれば、Console が現れ、そのまま使えますが、R の Integrated Development Environment(IDE 総合開発環境)である、RStudio IDE を導入します。

  • RStudio IDE の Download and Installation
    1. RStudio に Access します。
    2. 一番上の Download を Click します。
    3. RStudio Desktop IDE, Open Source License, Free と書いてあるものを、Download し、他の Application と同じように Install します。
    4. Application として、RStudio を立ち上げます。すると、RStudio Cloud で、Project を立ち上げたときと似た画面が出てきます。上の Menu Bar の File の上の方(おそらく上から二番目)にある New Project を選択します。新しい Project を Computer のどこに Save するかと、Project 名を入力します。(保存する場所を選び新しい Directory を作成して保存することも可能です。)何でもかまいませんが、Learning R でもよいでしょう。すると、右端に、Project 名が入ります。ここまでで、RStudio Cloud の項で述べた状態とほぼ同じになります。
  • R や、RStudio の Installation でつまずいてしまったら、Youtube で、Install R and RStudio, Windows [または Mac] と入れて検索してください。Video がいくつも見つかります。英語がわかりにくいときは、字幕を出して確認して、Install してください。

RStudio Desktop IDE, Open Source License, Free, そして Download と書いてある下に、Learn More とありますから、それを、Click すると、中程に、‘Take a tour of RStudio’s IDE’ と書いてある、Video があります。ざっと見てみるのもよいでしょう。なとなく、概要(雰囲気)がわかります。

さらに、CLICK HERE TO SEE MORE RSTUDIO FEATURES へと進むと、もう少し情報を得ることができます。急ぐ必要はありません。使い始めてから、このページ に戻ってくるとよいでしょう。

Let’s Try R on RStudio

ここまでで、準備 OK です。RStudio Cloud または、RStudio Desktop IDE で R を使うことができるようになりました。

少し、RStudio 上で、R を使ってみましょう。

Step 1. Console and Panes

  • RStudio には、たくさんの Cheat Sheets(早見表、字義通りには「カンニング・ペーパー」)とよばれるものが、用意されています。とても、便利です。(RStudio の Top Page の Resources から見ることができます)まずは、RStudio IDE の Cheat Sheet を見てみましょう。
  • 上に Menu Bar があり、下が、通常は、4つの枠に別れています。これを Pane(窓枠)と言います。隠れている場合もあります。Maximize(最大化)すると現れるようになっています。左下の Pane に Console という Tab(タブ、見出し用の「つまみ」)があると思います。起動時には、これが開いていると思いますが、開いていなければ、それを選択して開いてみてください。左下の Pane が、Console になります。
  • Console に、\(>\) が表示されていると思います。そこに、3+5 といれて、Enter (Enter Key, Carriage Return (CR) でもかまいません)してください。[1] 8 と出て、新しい、\(>\) が現れます。次に、7*24 と入れてみてください。[2] 168 一週間の時間数が現れます。次に、plot(cars) と入力してみてください。右下の Pane の Plots Tab に、下のようなグラフが現れるはずです。
  • R には、付属のデータがたくさんついていて、これは、Speed and Stopping Distances of Cars(自動車のスピードと制動距離)のデータです。右下の Pane に Help という Tab があると思います。その pane の右上に、虫眼鏡マークの、Search Box があると思いますから、そこに、cars と小文字で入れてみてください。その情報が現れます。今度は、その Search Box に、plot と入れてみてください。manual(説明)が現れます。
  • 今度は、右上の pane から、History(履歴)tab を見つけて、選択してください。すると、いままでに、Console に打ち込んだ、Command(命令)3+5, 7*24, plot(cars) が現れると思います。

Step 2. Package Installation and swirl (Statistics with Interactive R Lerning)

  • R には、現在、15,000を越える、公式に認証され CRAN に登録された Packages(パッケージ、プログラム集で、Data がいくつも含まれているものもある)があります。Open Software ということで、世界中の Users が、Program を作成して、形式を整えて、登録してあり、それを利用することができます。教科書や、コースで利用する、Program や、Data を集めたものもあります。
  • 一つの Package が他の Package に関連していたり、依存していたりするため、これを利用するときには、その依存関係も考慮に入れて、Install する必要があります。 Rstudio では、このことも考慮して、簡単に Install できるようになっています。(R の機能ですが、まず RStudio で説明します。)しかし、一つの機能が、二つの Package で異なる形で、拡張されることもあるため、Package の Installation は、能動的に行うようになっています。
  • たとえば、よく使われる、tidyverse という Package の場合には、利用するときには、ggplot2, purrr, tibble, dplyr, tidyr, stringr, readr, forcats と 8つの Package を同時に読みこむようになっています。さらに、Install するときには、他の関連する Packages も、読み込まれます。いずれ使うようになりますので、Install してみましょう。
  • Menu Bar の Tools から、Install Packages … を選択します。Packages という枠に、tidyverse と入力してみてください。途中まで入力すると、候補がいろいろと現れ、spell(つづり)を間違っていなければ、tidyverse だけが残りますから、Install ボタンを押してください。ちょっと時間がかかりますが、Console に次々とメッセージが現れ、最後に \(>\) が現れます。RStudio IDE のときは、どこから、Download するかを聞かれるかもしれませんが、そのときは、どれかを選んでください。近いところのほうが一般的には Install の時間が短くなります。どのようなものか見たいときには、また、右下の Pane から、Help Tab を選んで、tidyverse と入れてみてください。vignette と現れ、その右に、選択肢が現れます。Manual よりもう少し、詳しい情報が、わかりやすくかかれているものが、vignette です。すべての Package にあるわけではありませんが、Manual だけでは、わからないことも多いので、これがあると便利です。(Console に、install.packages("tidyverse") と入力し Enter をしても同様のことが可能です。)

ちょっと小休止。ここまでを Video と Exercise で確認してみませんか。Skip してもかまいません。
確認とExerciselearnr で作成されています。learnr に興味のあるかたは、この Link の左にある Welcome および、learnr を参照してください。)

  • もう一つ、swirl package を Install してみましょう。同じように、Menu Bar の Tools から、Install Packages … を選択します。Packages という枠に、swirl と入力して、Install です。swirl は、Johns Hopkins University で開発された、学習用の package で、これを作るための、Package も用意されています。swirlify です。
  • 使ってみましょう。Package は、Install しただけでは、使えません。使うよと宣言します。それが、library(swirl) です。Console の \(>\) の次に、library(swirl) として Enter、そして、swirl() と入力すると、学習プログラムが始まります。ちょっとした説明のあと、“What shall I call you?” と表示されます。名前でも、Nickname でも、イニシャルでも入れてください。このあとは、あなたのことを、この名前で呼ばれます。そのあとは、“…” まで読んだら、Enter と言う説明がありますから、また Enter。1 Continue., 2 Proceed. , 3 Let’s get going! の選択がでます。どれでもよいので、番号を入力してください。次に、途中でどうするかの説明があります。ともかくやめたいときは、ESC(Escape Key)、\(>\) が出ていて、そこまでを保存してやめたいときは、quit() 他にも、いくつも選択肢があることがわかります。次には、1: R Programming 2: Take me to the swirl course repository! と出ます。1 を選ぶのがよいでしょう。2 を選ぶと、Pop-up window が出ます。Browser がそれを、Pop-up を表示しない設定になっていると、一旦終わります。1 を選ぶと、1-15 の項目が現れます。どれからでもよいですが、R について何も知らない場合は、1 からトライしてみてください。\(>\) が出ているときには、quit()\(>\) が出ていないときに、ともかくやめたいときは、ESC です。Interactive Lesson を楽しんでみてください。
  • 日本語での説明と例:英語での演習に抵抗があるかたのために、作成しました。少しずつ、英語に慣れていけるとよいですね。基本的な、R Programming コース(1課-15課)には、簡単な解説も、付いています。少しずつ進めていくことができると良いですね。行き詰まったら、参照してください。Swirl の欄に、より詳しい説明があります。

続けて、swirl でしばらく学ぶのも良いでしょう。他の、Learning Resource を、下で紹介しますが、その前に、RStudio での次の大切なステップを紹介します。

Step 3. R Scripts

R の一つ一つの、Command であっても、記録のために保存しておくことが重要になります。
ある程度の長さのプログラムになれば、なおのことです。Reproducibility(再現性)のためにも、大切です。そのためには、Console ではなく、R Script を利用して、記録します。

  • RStudio の Menu Bar の File から、R Script を選択します。左上の Pane に、Untitled1 などと書かれた枠ができます。
  • RStudio の Menu Bar の File から、Save as … を選択して、名前をつけて、Save(保存)してください。このときに、現在の、Project (Desktop RStudio IDE の場合は、Project を作った Folder です。)の中に、新しいファイルができます。もし、新しい、Folder に入れたいときは、新たに作成して、Save してください。ここでは、test1 としてみます。RStudio Cloud を使っているときは、Browser(閲覧ソフト)を使っていて、それにも、名前を付けて保存(Save as …)などがあると思いますから、それと間違わないでください。
  • 下の、三行を、入力するか、copy & paste をしてください。

    data(cars)
    head(cars)
    plot(cars)
  • それぞれ改行していますが、なにも起こりません。ここで、左上の RScript の Pane の右上にある、Source Pulldown Menu の Source を選んでください。なにか、動きがあり、右下には、以前も、生じた plot(cars) のグラフが現れたと思います。Source では、その RScript の最初からすべてを、実行します。Plots の pane には、Exports ボタンもありますので、画像として、取り出すことも可能です。また、Zoom で拡大することもできます。
  • 右上の Pane の Environments に Data, Values と現れたはずです。Data には、cars とあり、50 obj. 2 variables、Values には、x, y とあります。cars を Click すると、speed, dist の値が現れ、50 obj. 2 variables を Click すると、R Script があった pane に表があらわれます。Filter とも書いてあり、speed や dist のあたりを、さわると、順番の並べ替えも起こります。
  • 左上の Pane の、R Script のファイル名を選ぶと、R Script に戻ります。そこで、head(cars) の後ろに、マウスなどで、carret(入力位置)をおき、または、その行を highlight(選択)して、Run ボタンをおすと、head(cars) が実行されて、Console に、cars という data の最初の6行が現れます。(下のような内容です。)一行または、highlight した箇所が実行されます。
  • 右下の Pane の Help の枠に、head と入れてみてください。Return the First or Last Part of an Object と出てきます。何も特別な指定をしないと、通常は、最初の6行が現れます。Help の一番下にある、Example を R Script のところに入れて、試してみるとよいでしょう。たとえば、head(letters, n = -6L) では何が現れますか。Help をよく読むとわかります。letters を、cars にするなどして、試してみてください。
  • 右下の Pane の Files を見ると、おそらく、三つファイルがあるのではないかと思います。.Rhistory, project.Rproj, それと、R Script のファイル名です。上で、test1 とファイル名を決めた場合には、test1.R とあると思います。ピリオッド以下の最後の部分を File extension(ファイル拡張子)といいますが、それが、R Script の場合には、.R になります。
  • Menu bar の File から Save を選んで、保存すれば、そこまでの状態をあとから、Reproduce(再現)することも可能です。

どうですか。R Script の使い方、R Studio の機能、少し理解できましたか。

Step 4. R Markdown and R Notebook

R Script などで、実行したことを、説明も含めて、R Markdown, R Notebook で文書として記録することで、Reproducibility(再現性)だけでなく、Literate Programming(理解できるように記録すること)が可能になります。

  • RStudio の Menu Bar の New File から、今度は、R Notebook(または R Markdown(後述))を選択してください。すでに、なにやら、文章がはいったものが出てきます。読んでみてください。
  • まず、R Markdown の Notebook であることで、R Markdown のリンクが書かれています。つぎに、Chunk(code chunk と呼ばれる、プログラムの塊で、例では、plot(cars) が —{r} から — までで囲まれている部分をさします。Run ボタン(Code Chunk の右上にある、右をむいた三角印のことです。)を押すか cursor(カーソル)をその Chunk の中に合わせて、Cmd+Shift+Enter を押すと、実行することができるとあります。やってみてください。この Chunk の下に、グラフが現れます。右上には、X がありますから、それ押せば消えます。
  • このような Chunk を加えるには、Tool Bar の Insert Chunk(Insert ボタンを押すと一番上に、R とありますからそれを押します。Short-cut Key の活用も便利です [Windows: Ctrl + Alt + I, MacOS X: Cmd + Option + I])と、書いてあります。そこで、どこでも良いのですが、一番下まで、Cursor を持って行って、そこで、実行してみてください。すると、上の Chunk と似たもので、真ん中が一行空いたものが現れます。そこで、たとえば、head(cars) と書き入れてみてください。
  • Preview と書いてあるボタンを押すか、knit とあり、knit to HTML, knit to PDF, knit to Word と選べるようになっているかもしれません。それを選択すると、HTML(ホームページの記述に標準的に使われる、Hypertext Markup Language)か、PDF(Portable Document Format)か、Microsoft Word file になります。RStudio Cloud では、最初、Pop-up が block されていると、表示されませんが、Retry をすれば、表示されると思います。
  • HTML は通常問題ありませんが、PDF と、Word については、多少コメントが必要です。最初は読み飛ばしてください。
    • PDF には、\(\TeX\) という プログラムが使われています。RStudio Cloud には、最初から、Install されているようですが、通常は、tinytex というプログラムを Install します。また、日本語が含まれるときには、少し修正が必要です。別途解説します。特に、すでに、LiveTeX などを、Local に Install されているときは、調整が必要です。
    • Word は、Default では、Paper Size が Letter になっています。A4 に変えるなどが必要です。Word Document に少し説明がありますが、出力した、Word File の Format を修正してから、my-styles.docx と名前を変えて、Project のある Folder に入れ、一番上の yaml と言われる部分に、引用した箇所のように、reference_docx: my-styles.docx を加えれば、次からそのフォーマットで、output してくれます。
    • R Markdown を参照してください。
  • これで、HTML の文書が作れることがわかりました。Title: “R Notebook” を自分の好みに変え、日本語で説明の文書をを加えるなどして、R Notebook を作成してください。Reproducible and Literate Programming というものが、できるようになります。今後も、R Notebook を使って、自分のノートを作っておくと良いでしょう。
  • 流れを復習します。R Script でプログラムを作成する。完成したら、R Notebook を作成、Code Chunk に、R Script の プログラムを挿入すれば、その結果を含んだ HTML 文書を作成することができます。
  • Notebook ではなく、R Markdown を選択しても、基本的には同じです。ただ、最初に、出力形式を選択したり、名前を入れたりします。File Extention(拡張子)は、どちらも最後に .Rmd が付きます。

R Markdown Overview: R Markdown の概要の Video を見てみませんか。

Note 備考

  • R の update(更新): Installation と同じ方法で行います。作業の途中はさけてください。挙動が変わる場合もたまにあります。R.version Command などで、version を確認して、net 上で調べてください。
  • RStudio の update: Installation と同じ方法で行います。RStudio の About RStudio menu から version を確認できます。

R Markdown

Markdown

More information on Markdown Syntax and Markdown Editors

R Markdown は、Markdown という記述言語に、R の Code Chunk の機能を加えたものですが、これを頻繁に使うようになると、RStudio の Help に書かれている情報より、もう少し詳しい説明が欲しくなります。 また、日本語入力において、RStudio では、困難を覚えるかもしれません。

  • Pandoc’s Markdown: RStudio の Markdown のページからリンクがある Pandoc’s Markdown に Markdown についての、正確な情報が書かれています。Pandoc は、universal document converter で、様々な Format(形式)の文書の、変換を行うもので、R Markdown の文書を、html や、MS Word file に、書き換えるときに、使われているものです。
  • Markdown Tutorials: Exercise 形式で、Markdown の Syntax(文法)について学べるようになっています。
  • DARING FIREBALL Markdown Dingus: [DARING FIREBALL: Markdown] (https://daringfireball.net/projects/markdown/)] にある、Dingus(「なんとか言う奴」という程度の意味)。日本語入力のときは、RStudio と比較して、入力がスムーズです。Online の Markdown Editor として利用できます。Filter を Markdown、Results を Preview にして、Convert を押します。他にも、Online の Markdown Editor はいくつもあります。入力と同時に、Preview が表示されるものもあります。好みのものを探してください。
  • CoCalc: Collaborative Calculation and Data Science で、数式処理の SageMath、\(\LaTeX\) Editor、Jupyter Notebook などが使え、R Console もあり、R Markdown も使えるようになっています。Package 管理の問題もあるため、詳細は紹介しませんが、個人的には、Markdown Editor として活用しています。(管理者権限のないコンピュータに Package を Install する場合は、たとえば Oracle のページ(日本語)を参照してください。)

More on RStudio

はじめて、R や RStudio に触れるひとは、この項は読み飛ばしてください。
RStudio Site の上の Resources の Webinar & Videos を見てみましょう。R や Data Science についての知識をある程度お持ちで、先回りして、RStudio について知りたい方にお勧めです。
最新のニュースについても知ることができます。

Manual and Online Help

R の文法、R や Package の Command(命令、R では Function(関数・機能)と呼ばれます)の詳細は膨大で覚えることは不可能です。
基本をある程度理解し、あとは、Manual や、Help を調べ、Examples を通して学びます。
Internet 上で検索して調べること、Blog などでの、Discussion から情報をえることも必要な場合が多いですが、まずは基本を理解しましょう。

Manual and Introduction to R

Introduction to R は、CRAN (The Comprehensive R Archive Network) で編集している、短い Manual です。常に Update し最新の情報になっています。

  • The R Manuals: Manual の名称、R-release、R-pached、R-devel とあり、それぞれに、HTML, PDF, EPUB 形式のファイルが置かれています。
    • R-release: the most recent released R version (最新の公式版)
    • R-pached: a very current version for the patched release version(細かい修正を加えた新しい版)
    • R-devel: a version for the forthcoming R version(開発版)
  • Introduction to R の日本語版も、Internet 上に、いくつか公開されています。構造が大きく変更になることは、あまりありませんし、三桁の version 名の最初の一つが同じならば、殆ど問題はないと思います。しかし、最新版というだけではなく、用語などを考えると、英語のものを利用する価値は十分にあると思います。また、実際に使うときには、他の、Site の英語の説明を参照することも多くなります。
  • Preface: R についてなど、基本事項の紹介のあと、読者に二件書いてあります。
    • Most R novices will start with the introductory session in Appendix A. This should give some familiarity with the style of R sessions and more importantly some instant feedback on what actually happens. まず “Appendix A A sample session” を見ると、R の実際についての基本についてわかります、とありますから、見てみることをお勧めします。
    • Many users will come to R mainly for its graphical facilities. See Graphics, which can be read at almost any time and need not wait until all the preceding sections have been digested. 二つ目として、グラフについて調べる場合が多いと思うので、他の箇所を十分理解してからでなくても、12. Graphical Procedures を読むことを勧めています。
    • 以上二件、ざっと見てみることをお勧めします。

Help in RStudio and Online Help

Rには、膨大な Packages があり、それを日常的に利用します。一つ一つの Package については、Introdution to R には書かれていません。また、上の Manual ではなく、RStudio の画面などで、Help を利用する方が簡単です。Help の使い方を基本から紹介します。

  • ‘Introduction to R’ の項でも紹介した、Appendix A の最初に、help.start() について、Start the HTML interface to on-line help (using a web browser available at your machine). You should briefly explore the features of this facility with the mouse. とあります。これを、RStudio の Console や、R Script で、Command として実行(run)すると、RStudio の 右下の Pane の Help Tab に、‘Statistical Data Analysis R’ と現れ、最初に、‘Introduction to R’ が現れます。ここからも、この文書を見ることができます。‘The R Language Definition’、‘R Data Import/Export’, ‘Packages’, ‘R Resources’ は、すぐにでも役に立つと思います。
  • RStudio で、head, mean(平均), sd(標準偏差), plot, summary, tidyverse, ggplot2 などを調べたいとき.
    1. Console または、R Script で、? を付けて検索。?head Enter。
    2. Console または、R Script で、?? を付けて検索。??head Enter。
    3. 右下の Pane の Help Tab の右上の虫眼鏡マークに head などと入力。

それぞれどのように表示されるか、比較してみてください。

  • tidyverseggplot2 などの、重要な Package の場合は、Vignette が表示され、かなり詳しい説明にアクセスできます。
  • plot などで、Help に表示されるものが長い時は、さらに、検索が必要な場合もあります。RStudio の時には、虫眼鏡の次の行の Box に調べたい Key Word を入力すると、その Help のページ内で、検索してくれます。

Help の活用は、とても、有効ですから、Internet での情報を探す前に、まずは、Help を活用してください。

Interactive Learning Tools

Data Science を学ぶ、一番良い方法は、実際の Data を自分で分析してみることです。しかし、基本を学ぶことも必要です。本などで、基本を知識として学ぶこともできますが、能動的に、実際に、R を使いながら、学ぶことが近道であると思います。知識と、実際の分析の間を埋めるのが、対話型の Exercise 形式で学ぶ、Interactive Learning Tool です。
R の基本を Interactive に学ぶことのできるサイトはたくさんありますが、主として、RStudio Primers と、すでに、少し紹介した、R の Console 動作する Swirl について説明します。

RStudio Primers

Interactive Tutorials が Free Open Online で提供されています。今後、Contents が増えていくことが期待されます。

  • RStudio Primers(入門書): RStudio Cloud の下からリンクがついています。Login なしで使えます。RStudio Cloud を使っているときは、左上の三本線を選択すると、Learn のリストの一つとして Primers へのリンクが付いています。
    1. The Basics: ggplot2 入門の、Visualization Basics と、Programming Basics にわかれています。最初から、ggplot2 の Package は load されています。もし、R Script や、R Markdown, R Notebook などに記録するときは、最初に library(ggplot2) を実行してから始めてください。問題は R for Data Science からとられています。Solutions to Exercises of R for Data Science の答えも公開されています。
    2. Working with Data: R の基本的なデータ形式は、Data Frame ですが、より、扱いやすい、tibble および、それをあつかう、dplyr Package についての問題です。
    3. Visualizing Data: ggplot2 で扱う、様々なグラフについての問題です。
    4. Tidy Your Data: tidyverse を学ぶ問題です。
    5. Iterate: R で Program を書くときに、必要なことを学びます。
    6. Write Functions: 関数を書いて利用するときに、必要なことを学びます。

Swirl (Statistics with Interactive R Lerning)

Console を利用して、対話型で学ぶコースを提供する、Package です。基本的なことを学べるコースがすでに用意されています。下のような説明があります。
Use the R console as an interactive learning environment. Users receive immediate feedback as they are guided through self-paced lessons in data science and R programming.

  • {swirl} website: swirl の解説とともに、swirl を開発するための swirlify の説明もあります。
  • swirl Course Repository
    • 初級・中級・上級のコースのお薦めも書いてあります。
    • Swirl Courses Organized by Title: List of swirl courses, タイトルと、著者に分けてコースリストがあります。
  • CRAN swirl Package, Manual in PDF
  • CRAN swirlify Package, Manual in PDF
  • 日本語での説明と例 [2020.3.31]
    英語での演習に抵抗があるかたのために、作成しました。少しずつ、英語に慣れていけるとよいですね。 
    • R Programming(初級用):解答と簡単な解説があります。
      1. Basic Building Blocks(基本的構成要素)
      2. Workspace and Files(作業スペースとファイル)
      3. Sequences of Numbers(数列)
      4. Vectors(ベクトル)
      5. Missing Values(欠損値)
      6. Subsetting Vectors(ベクトルの部分抽出)
      7. Matrices and Data Frames(行列と、データフレーム)
      8. Logic(論理)
      9. Functions(関数)
      10. lapply and sapply(lapply と sapply)
      11. vapply and tapply(vapply と tapply)
      12. Looking at Data(データの構造を見る)
      13. Simulation(シミュレーション)
      14. Dates and Times(日付と時刻)
      15. Base Graphics(グラフィックの基本)
    • R Programming 以外も、いくつかの swirl Course の、Console Log(実際に使ったときの Console に表示される履歴)と、注意事項を記載しました。自分にあったものを見つけてください。
  • 注: Beginner 用の R Programming の各 Lesson の最後に、‘Would you like to receive credit for completing this course on Coursera.org?’ とメッセージが表示されますが、2: No を選択してください。(swirl Course Repository 参照)

Other Interactive Learning Sites

以下のサイトは、いずれも、Sign-Up が必要で、また、すべてのコースを受講し機能を利用するのは、有料です。ただし、無償でも、基本は学ぶことができます。他にも似たサイトがあります。

  • Data Camp Intro R datacamp: R だけでなく、様々なコースを提供しています。一定期間は、すべての機能が利用可能です。Data Camp は、システムも提供しており、HarvardX Data Science でも利用しています。
  • Data Quest Dashboard: R だけでなく、様々なコースを提供しています。
  • Vertabelo Introduction to R: R だけでなく、様々なコースを提供しています。R では、28 exercises を無償で試すことができます。

Refrences and Miscellaneous Learning Sites

調べるときに、便利なサイト、大学で提供している、学習支援サイトをいくつか紹介します。
MOOCs (Massive Open Online Courses) や、Bookdown で書かれ Online で提供されている教科書などについては、Resources のページを参照してください。

Learning Support Centers of Universities

多くの大学が学習支援サイトをもっており、公開しているところもいくつもあります。ここでは、その中から、いくつか紹介します。

Various Learning Sites

以下のどれでも、R の基本を学ぶことができます。他にもたくさんありますが、一部のみ紹介します。自分の気に入ったものを見つけてください。学習のリソースについては、Resources を参照してください。

  • DataCamp: Quick R コンパクトにまとまっています。DataCamp のコースの参考にも使われます。
  • Tutorials Point: Learning R Programming 各種コースもあります。
  • R Tutorial: An R Introduction to Satistics コンパクトにまとまっています。
  • Code Academy: Learn R 各種コースもあります。

Youtube Video

Youtube には、Data Science に関しても、膨大な Video が公開されており、MOOCs などのコースの Video で公開されているものもあります。ここでは、少しだけ紹介します。[ ] の中は長さです。

  • R: R The most powerful and most widely used statistical software [1’33"]
    統計ソフトとしての R についての短い紹介です。英語ですが、字幕を表示させることができます。ただし、機械的に認識して表示しているので、Rour となっています。
  • Simplilearn: Data Science In 5 Minutes | Data Science For Beginners | What Is Data Science? [4’37"]
    • Simplilearn という学習コンテンツを提供しているインドの会社のビデオです。コンパクトに Data Science について、特に、Data Scientist はどのような仕事かについて説明しています。英語字幕が付いており、わかりやすいと思います。項目を書いておきます。
    • Data Scientist はどんな仕事か
      1. Business Problem ビジネスでの課題を特定する
      2. Data Acquisition 必要なデータの特定・入手可能性・方法
      3. Data Preparation (Wrangling, Munging)データの整理と準備
      4. Exploratory Data Analysis データ探索
      5. Data Modeling(Machine Learning) 数理モデルの考察・選択(機械学習)
      6. Visualization and Communication 視覚化を通して的確に理解・共有
      7. Deploys and Maintains 実際の問題への適用と改善
        ビジネスにおける流れが説明されていますが、Data Science の基本的な流れでもあります。
    • Data Science Changing the World 世界を変えつつある
    • Various Roles: Data Analysts, Machine Learning Engineer, Deep Learning Engineer, Data Engineer, Data Scientist いろいろな役割があり、それに伴って、いろいろな名前で呼ばれている。
    • Youtube Simplilearn Page
      他にも、様々なビデオを提供しています。Big Data [5’11"]、Machine Learning [7’51"] など興味のあるトピックのビデオを見てみるのもお薦めです。
    • もし、これらが気に入れば Data Science Full Course | Data Science For Beginners | Learn Data Science In 10 Hours | Simplilearn [9:51’32’’] もあります。
  • R: R Programming Tutorial - Learn the Basics of Statistical Computing [2:10’38’’]
    • 二時間に及ぶ Lecture(講義)で、R によるデータ分析について説明しています。豊富な内容が、順序立てて説明され、基本がカバーされていて、よくまとまっています。最初から、すべてを理解することは難しいと思いますが、Video の下に、項目ごとに、何分頃に何が説明されているかも書かれており、途中から見ることができるようになっています。
    • Files も公開されており、Lecture の中で使われる R Script へのリンク が Google Drive に付いていて、利用することができます。

Notes on Graphics

実際に Data Science をはじめると、最初に苦労するのが、グラフについてではないかと思います。しかし、ここに、ちょっと微妙な問題があります。以下、Graphics(グラフ)について、特に、Base R Graphics と ggplot2 について書き、Get Started の結びとします。

Base R Graphics and ggplot2

これから、R について学んでいくにあたって、ひとつだけ書いておくべきことがあります。それは、特に、グラフに関して生じる、Base Graphics と、tidyverse などの「現代的 (Modern)」な Package 群に支えられた、ggplot2 を使った Graphics の違いについてです。

Interactive Learning Tool の項で、swirl と、RStudio Premier を紹介しましたが、swirl の R Programming は、Base Graphics と呼ばれる、R に最初から Install されているものだけを使っており、最後の、15. Base Graphics も、そのタイトルの通り、Base の グラフ環境だけを使っています。一方、R Studio Premier では、ggplot2 など、一群の tidyverse Package を使っています。

R は、Free Open Source であり、多くの人たちによって、機能が付け加えられ、それが、維持・管理されています。しかし、そのことは、それぞれのユーザーの必要に応える形で開発されていくために、名称も含め、システム全体としての、統一性に欠けていたり、全体が論理的構成になっていないなどの問題が生じます。これまでも、規格を定めるなどして整合性は維持されてきましたし、Package を登録するときの規定も明確に定められて来ています。しかし、一番、問題を生じたのが、グラフの部分です。R は、様々な分野で利用されていますが、ユーザーが、それぞれの分野として頻繁に使う形式の出力を簡単にするために、Package を追加していったことが背景にあると思います。

Leland Wilkinson によって提唱された、Grammar of Graphics をベースに、Hadley Wickham 等によって、論理的な構成が形となり生まれた、ggplot2 に、さらに、高速化を含む、Data を扱う一群の、Package が、tidyverse としてまとめられ、現在は、広く使われており、初心者のうちから、ggplot2 などを使うことが薦められています。個人的には、非常にすぐれていると思います。そこで、常に tidyverse を使っていますので、上でも、Package の最初に、tidyverse の Installation からはじめました。

しかし、Data を最初に概観するときには、簡単な命令でもある、Base R Graphics は便利です。個人的には、R の基本と、Base Graphics の基本を押さえてから、現代的な Graphics をしっかり学んでいくのがよいと思っています。

References on Base Graphics and Modern Graphics


For comments, please send us an email to: freeopenonlinedatascience4all[at]gmail.com