2017年3月8日水曜日

【R:最速入門】インストールから外部結合までを30分以内で!?

RStudioで外部結合のコードを実行したときの画面。エディタのデザインはオプションで自由に変えられる。下記の順序で進めれば、Rが初めてでもインストールから外部結合をできる環境を構築するまで30分もかからずにできる(と思います)。

◇ちょっと背景

愛用のMacBook Airが壊れてしまい、新たにWindows PC(MB-B502E)を購入。価格は約4万円と安いが、少々もっさり。。でも、ボーナスまでこれで耐え忍ぶしかない!

◇ということで、新しいPCに「R」をインストール!

  • まずはRのサイトにいく(Rのサイト:OS選択画面
  • Download R for Windowsをクリック
    OS選択画面:Windowsをクリックする
  • base 又は install R for the first timeをクリック
    独自のRを構築したい人以外はbaseでOK
  • Download R 3.3.3 for Windowsをクリック
    バージョンは2017/03/08時点のもの
  • ファイルをダウンロードして実行すると、言語の選択を求められる。今回は日本語で
    日本語を選択
  • 次へをクリック
    インストールの開始
  • 説明を読んで次へをクリック
    読んだことない。。
  • 次へをクリック
    インストール先を変更したい方はどうぞ
  • 次へをクリック
    OSが64bitの方は32bitいらないかも
  • 次へをクリック
    デフォルトで問題なし
  • 次へをクリック
    そのままでOK
  • 次へをクリック
    ただ、R Studio使うのでデスクトップにアイコン無くてもOK
  • インストールされます
    インストール中
  • Rのインストールは完了です
    完了画面
  • Rを起動。一応、これでも使えるが、コンソールからコードを書くのは大変面倒で作業効率が極めて悪い。そのため、R Studioをインストール。
    これでも使えるが作業効率悪い
  • R Studioのサイトにいく(R StudioのHP
  • Download RStudioをクリック
    下の方にもダウンロードのリンクがある
  • 一番左の「RStudio Desktop Open Source License」をダウンロード
    バージョン選択画面
  • 「RStudio 1.0.136 - Windows Vista/7/8/10」をクリック
    クリック後、ファイルがダウンロードされる
  • 次へをクリック
    ダウンロードしたファイル実行するとセットアップがはじまる
  • 次へをクリック
    必要に応じてインストールフォルダを変更できる
  • インストールをクリック
    ショートカットを作成しないこともできる
  • 完了をクリック
    これで終わり
  • RStudioを起動するとこんな感じ
    コンソール画面が出てくるがここにコードは基本書かない
  • 左上のFileからNew Fileを選択してR Scriptを開く
    このR Scriptで作成したファイルにコードを書いていく
  • 実際にコードを書いてみた様子
    Rで外部結合をするためのコード
  • 実際のコード

#Rで外部結合するには?left joinとright joinを

#パッケージインストール
install.packages("data.table")
install.packages("dplyr")

#インストールしたパッケージを使う
library(data.table)
library(dplyr)

#サンプルデータを作成
v.x <- c(1,2,3)
v.x1 <- c("a","b","c")
v.y <- c(1,2,30)
v.y1 <- c("A","B","C")
#データフレーム型にする(外部結合するため)
df.x <- data.frame(id = v.x, name = v.x1)
df.y <- data.frame(id = v.y, name = v.y1)

#データを表示
df.x
df.y

# left join
left_join(df.x, df.y, by = "id")

# right join
right_join(df.x, df.y, by = "id")



  • 全てのコードを選択してRunをクリック(Sourceでも全コードを実行できるが、実際の作業では部分的に実行する事が多くほとんどRunしか使わない。そのため、ここでもRunを用いた)
  • 実行結果
> #Rで外部結合するには?left joinとright joinを
> #パッケージインストール
> install.packages("data.table")
Installing package into ‘C:/Users/mtsuj/OneDrive/Documents/R/win-library/3.3’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.3/data.table_1.10.4.zip'
Content type 'application/zip' length 1502201 bytes (1.4 MB)
downloaded 1.4 MB

package ‘data.table’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
C:\Users\mtsuj\AppData\Local\Temp\RtmpKsWlwv\downloaded_packages
> install.packages("dplyr")
Installing package into ‘C:/Users/mtsuj/OneDrive/Documents/R/win-library/3.3’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.3/dplyr_0.5.0.zip'
Content type 'application/zip' length 2557605 bytes (2.4 MB)
downloaded 2.4 MB

package ‘dplyr’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
C:\Users\mtsuj\AppData\Local\Temp\RtmpKsWlwv\downloaded_packages
> #インストールしたパッケージを使う
> library(data.table)
data.table 1.10.4
  The fastest way to learn (by data.table authors): https://www.datacamp.com/courses/data-analysis-the-data-table-way
  Documentation: ?data.table, example(data.table) and browseVignettes("data.table")
  Release notes, videos and slides: http://r-datatable.com
> library(dplyr)
-----------------------------------------------------------------------------------
data.table + dplyr code now lives in dtplyr.
Please library(dtplyr)!
-----------------------------------------------------------------------------------

 次のパッケージを付け加えます: ‘dplyr’ 

 以下のオブジェクトは ‘package:data.table’ からマスクされています: 

     between, first, last 

 以下のオブジェクトは ‘package:stats’ からマスクされています: 

     filter, lag 

 以下のオブジェクトは ‘package:base’ からマスクされています: 

     intersect, setdiff, setequal, union 

> #サンプルデータを作成
> v.x <- c(1,2,3)
> v.x1 <- c("a","b","c")
> v.y <- c(1,2,30)
> v.y1 <- c("A","B","C")
> #データフレーム型にする(外部結合するため)
> df.x <- data.frame(id = v.x, name = v.x1)
> df.y <- data.frame(id = v.y, name = v.y1)
> #データを表示
> df.x
  id name
1  1    a
2  2    b
3  3    c
> df.y
  id name
1  1    A
2  2    B
3 30    C
> # left join
> left_join(df.x, df.y, by = "id")
  id name.x name.y
1  1      a      A
2  2      b      B
3  3      c   <NA>
> # right join
> right_join(df.x, df.y, by = "id")
  id name.x name.y
1  1      a      A
2  2      b      B
3 30   <NA>      C


参考サイト



新しいPCはこんな感じです
マウスコンピュータのWindows PC(MB-B502E


0 件のコメント :

コメントを投稿