SlideShare a Scribd company logo
1 of 20
R超入門
-140531 R3.1.0対応-
@nanaya_sac
ごあいさつ
• 先生、この資料って何ですか?
• 「Tokyo.R女子部」というR初心者のための勉強会用
資料なのだそうです。
• へー。こういう仕様にする必要性はあったんですか?
• おそらくないけれど、あえて言うなら作成者がそうし
たかったのでしょうね。
• ・・・・。
• 気を取り直して、今日の勉強会で取りあげる内容につ
いて概観してみましょう。
本日やりたいこと
1)Rって何ですか?
2)インストールしてみよう・Rコマンダー
(パッケージ)の入れ方
3)Rコンソールに慣れよう
4)関数を使ってみよう
1)Rって何ですか?
Rとは、「国際共同研究のオープンソースな
プロジェクトで開発され、GNU GPLに従っ
て公開・配布されている高機能な統計ソフ
ト」のことです。
*GNU GPL: GNU General Public License
(フリーソフトウェアウェアライセンスの一つ)
Rを使用するメリット
1) 無料である
2) 中身がわかって信頼性が高い
3) プログラミング可能で拡張性がある
4) 軽快な反応と対話的な操作
(昔のPCでも動きます)
• Rは統計ソフトの側面が強調されがちですが、元はプロ
グラミング言語ですので、分析以外のことにも使用可能
です。
• デメリットとしては、オープンソースのためさまざまな
人が常時開発を続けているため、バージョンアップが頻
繁にあり、そのたびに微妙にコマンドが変わったりする
ことでしょうか。
• 詳しくは本家(Tokyo.R)でチェックしてみてね!
2)インストールしてみよう
Windowsの場合
• http://cran.md.tsukuba.ac.jp/ へアクセスします。
• 「Download R for Windows」→「baseと書いてある
右端にあるinstall R for the first timeをクリック
• 「Download R-3.1.0. for Windows」をクリックする
と「R-3.1.0.-win.exe」がダウンロードできます。これ
をダブルクリックして インストーラを立ち上げます。
• 後は通常のインストールと同じようにOKを押していけ
ば大丈夫だよ。
2)インストールしてみよう
Macの場合
• http://cran.md.tsukuba.ac.jp/bin/macosx/ へアク
セスします。
• Mac OSのバージョンによってダウンロードするべき
ファイルが異なりますので、ご自身のOSを確認してか
らダウンロードを行います。
• 基本的にWindowsと同じだね!
• (参考URL)
• http://aoki2.si.gunma-u.ac.jp/R/begin.html
2)Rコマンダーの入れ方
• Rコマンダーってなんですか?
• R Commanderとは、Rのパッケージの1つです。R自体
はそれだけでも動くのですが、スマホアプリのように必
要な機能をその都度ダウンロードして使用することがで
きます。それが「パッケージ」です。上手に使用するこ
とでRを便利に使えます。
• エクセルの「分析アドイン」みたいな物ですね!
• Rは基本的に自身でコマンドを入力し(これはRコンソー
ルと呼ばれます) 、それに対して答えが出てくるという、
非常に昔のPCのような振る舞いをします。「R
Commander」を使うことでいわゆるSPSSのようにク
リックしながら分析が行えるようになります。
• わー!それは便利ですね。コンソールに慣れていなく
ても安心です。
• ただし、CRAN(Rの本体や、パッケージがおいてある
サーバー)からいくつかのパッケージをダウンロードす
る必要があります。以下に手順を示しておきますので、
設定してみましょう。
• なお、現在はR Commander以外にも、Rstudioなどの
同じようなパッケージがいくつか存在します。
R Commanderのインストール
• Rのコンソール(テキストを打ち込むウィンドウ)上部にある「パッケー
ジ」タブを選択し、「パッケージのインストール」を選択します。
• 「CRAN mirror」パネルから、好きなサーバーを選択します。(Japanの
どこかがオススメです)
• 「Packages」パネルから「Rcmdr」を選択します。(これでRコマンダー
本体がダウンロード・インストールされます)
• コンソール上の表示が止まったら、コンソール部分に以下のように入力し
ます
• library(Rcmdr)
• 「Rcmdrが使用する以下のパッケージがありません。・・これらのパッ
ケージをインストールしますか?」というパネルが出てくるので、「は
い」を選択します。(ここでRコマンダーが必要とする他のパッケージをダ
ウンロードします)「無いパッケージをインストールする」パネルでは
「CRAN」を選択し、「OK」を押します。コンソールの表示が止まるとイ
ンストール完了です。
• Rコマンダーを立ち上げるには、コンソールに以下のように入力します。
• library(Rcmdr)
• これでRコマンダーが使えるようになりますね!
• Rコマンダーの「ヘルプ」内にある「Rコマンダー入
門」は日本語化されているので、これを一通り読んでお
くといいと思います。
• それじゃあこれを使ってどんどん分析をしていきま
しょう!
• そうしたいところなのですが、今日はせっかくなのでR
コンソールに慣れることにしましょう。
• ええー・・せっかく簡単にできそうだったのに・・
3)Rコンソールに慣れよう
• 初っぱなからですが、Rを終了するときのコマンドは
「q()」です。入力してみましょう。
• 「作業スペースを保存しますか?」と訊かれました!
• Rでは今までやってきた履歴を保存しておくことができ
ます。保存したい場合は「はい」を選択しましょう。ま
た、入力時は基本的に「半角英数(日本語入力オフ)」
がベターです。
保存しておくと、次
回起動時に以前の状
態を保ったまま使用
できるよ。
• できましたー!でも、これじゃ電卓とあんまり変わりま
せん・・
• ではここからちょっとプログラミングっぽく、「代入」
をしてみましょう。
Rで単純な計算ができます。
試しに以下の式を入力して、Enterを
押して結果を確認してみましょう。
1) 3 + 2
2) 2 * 5
3) (3+2)^2/(6-1) (^はべき乗を
示す)
• Rでは特定の文字に値・データを代入することがで
きます。代入する際は「代入先の名前 <- 代入する
元」と入力します。
• 試しに以下のように入力してから1), 2)を実行
(Enterを押す)してみましょう。
• a <- 3
• b <- 2
• c <- a+b
1) c
2) c-a
「<-」の前後に
は半角スペース
を忘れずに
• 先生!いろんな文字にいろいろ代入してオブジェクト
(代入して作られたモノ)にしていたら、どれに何が
入ってるかわからなくなりました!
• そんなときは「ls()」を入力すると、すでに何かが代入
されている文字列が表示できます。
• もう要らないオブジェクトはどうしたらいいですか?
• 「rm()」で、括弧の中に削除したい文字列を入れると
削除されます。また、全て削除することのできる
「rm(list=ls())」という呪文もあります。何か新しい
分析を始める前は、この呪文を使って全てのオブジェク
トを削除しておくことをオススメします。また、これは
「その他」タブから「全てのオブジェクトの消去」を選
択することでも可能です。
4)関数を使ってみよう
• やっとデータを扱う段階に来ましたね!
• ここでは一列だけの単純なデータに対して、総和や平均、
データの個数を数えたりしてみます。
• ある文字に複数のデータ(1, 2, 3)を代入するには
「c()」(c:combine)を使用します。
• 以下のように入力してから、aを実行してみましょう。
• a <- c(1,2,3)
• オブジェクトの中のデータの個数を知りたいときは、
「length()」を使用します。
• 先ほど作成したオブジェクトaの中のデータの個数を
調べてみましょう。
• length(a)
• オブジェクトの中のデータの総和を知りたいときは、
「sum()」を使用します。
• 先ほど作成したオブジェクトaの総和を求めてみま
しょう。
• sum(a)
• さて、ここまでできたらデータの平均値を求めることが
できます。
• はい!「sum(a)/length(a)」で求められます!
• よくできました。関数を使うときは括弧の中にオブジェ
クトを入れることで適用できるようになりますね。
• (なお、平均値を一発で求める関数ももちろん存在しま
す)
参考文献
• 以下に今回参考にした書籍とサイト、および非常に参考
になるサイトをまとめておきますのでご活用ください。
皆様のRユーザーとして第一歩を後押しできたのなら幸
いです。
• また次回も会おうね!
☆参考文献
「Rによる心理・調査データ解析」著:緒賀郷志 東京図書
(本資料はこちらの図書を全面的に参考にさせていただきました)
☆参考サイト
http://www.okada.jp.org/RWiki/
(言わずと知れたRwikiです。Rについて日本語で調べたい場合はこちらへ)
http://phi.med.gunma-u.ac.jp/swtips/R.html
(Rのインストールに関してはこちらを参考にしました)
http://plaza.umin.ac.jp/~takeshou/R/index.html
(Rコマンダーのインストールなどはこちらを参考にしました)
http://seekr.jp/
(R言語のための検索エンジン)

More Related Content

What's hot

押してダメなら引いてみろ! ggplot2逆引きプロジェクト
押してダメなら引いてみろ! ggplot2逆引きプロジェクト押してダメなら引いてみろ! ggplot2逆引きプロジェクト
押してダメなら引いてみろ! ggplot2逆引きプロジェクトyutannihilation
 
swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習hoxo_m
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発shoma h
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
統計用言語Rの使い方(2014)
統計用言語Rの使い方(2014)統計用言語Rの使い方(2014)
統計用言語Rの使い方(2014)sogoTA
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPythondrillan
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたYusuke Kon
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Takashi Yamane
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPythonHironori Sekine
 
PythonのインストールからHello Worldまで
PythonのインストールからHello WorldまでPythonのインストールからHello Worldまで
PythonのインストールからHello WorldまでKioto Hirahara
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Ai Makabi
 
S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4Takeshi Akutsu
 
S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3Takeshi Akutsu
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17Shinya Okano
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webappTakeshi Akutsu
 
Pythonのプロファイリング
PythonのプロファイリングPythonのプロファイリング
Pythonのプロファイリングysakaguchi
 

What's hot (20)

押してダメなら引いてみろ! ggplot2逆引きプロジェクト
押してダメなら引いてみろ! ggplot2逆引きプロジェクト押してダメなら引いてみろ! ggplot2逆引きプロジェクト
押してダメなら引いてみろ! ggplot2逆引きプロジェクト
 
swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
統計用言語Rの使い方(2014)
統計用言語Rの使い方(2014)統計用言語Rの使い方(2014)
統計用言語Rの使い方(2014)
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPython
 
PythonのインストールからHello Worldまで
PythonのインストールからHello WorldまでPythonのインストールからHello Worldまで
PythonのインストールからHello Worldまで
 
stapy#23 LT
stapy#23 LTstapy#23 LT
stapy#23 LT
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4
 
S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
S09 t0 orientation
S09 t0 orientationS09 t0 orientation
S09 t0 orientation
 
S08 t0 orientation
S08 t0 orientationS08 t0 orientation
S08 t0 orientation
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
 
Pythonのプロファイリング
PythonのプロファイリングPythonのプロファイリング
Pythonのプロファイリング
 
Django learning
Django learningDjango learning
Django learning
 

Similar to R超入門

TokyoR#31 初心者セッション
TokyoR#31 初心者セッションTokyoR#31 初心者セッション
TokyoR#31 初心者セッションTokorosawaYoshio
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
Rブートキャンプ
RブートキャンプRブートキャンプ
RブートキャンプKosuke Sato
 
統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方Ak Ok
 
Tokyo r no8_海外サイトの紹介
Tokyo r no8_海外サイトの紹介Tokyo r no8_海外サイトの紹介
Tokyo r no8_海外サイトの紹介Takashi Minoda
 
Introduction r (R入門)
Introduction r (R入門)Introduction r (R入門)
Introduction r (R入門)Takashi Minoda
 
Pipenvのご紹介 v2
Pipenvのご紹介 v2Pipenvのご紹介 v2
Pipenvのご紹介 v2C Y
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介shoma h
 
活動報告8 r入門-
活動報告8  r入門-活動報告8  r入門-
活動報告8 r入門-vx-pc-club
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_opsume3_
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyShinichi Okada
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトTetsuya Morimoto
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法Tatsuya Saito
 
PypeRで実験と分析を一本化する
PypeRで実験と分析を一本化するPypeRで実験と分析を一本化する
PypeRで実験と分析を一本化するTakashi Yamane
 
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46civicpg
 

Similar to R超入門 (20)

TokyoR#31 初心者セッション
TokyoR#31 初心者セッションTokyoR#31 初心者セッション
TokyoR#31 初心者セッション
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
Rブートキャンプ
RブートキャンプRブートキャンプ
Rブートキャンプ
 
統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方
 
Tokyo r no8_海外サイトの紹介
Tokyo r no8_海外サイトの紹介Tokyo r no8_海外サイトの紹介
Tokyo r no8_海外サイトの紹介
 
Introduction r (R入門)
Introduction r (R入門)Introduction r (R入門)
Introduction r (R入門)
 
Pipenvのご紹介 v2
Pipenvのご紹介 v2Pipenvのご紹介 v2
Pipenvのご紹介 v2
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
 
活動報告8 r入門-
活動報告8  r入門-活動報告8  r入門-
活動報告8 r入門-
 
Rでダイエット
RでダイエットRでダイエット
Rでダイエット
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
 
Rゼミ 1
Rゼミ 1Rゼミ 1
Rゼミ 1
 
PypeRで実験と分析を一本化する
PypeRで実験と分析を一本化するPypeRで実験と分析を一本化する
PypeRで実験と分析を一本化する
 
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46
 

R超入門