SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
初心者セッション1
- Rスタートアップ-
Tokyo.R #80
@kotatyamtema
1
自己紹介
TwitterID : @kotatyamtema
大学での専門: 行動生態学
立案 捕獲 実験 分析までワンオペ
今まで : 客先ぼっち分析屋→アパレル通販会社
現在 : new医療検査会社!
R歴 : 10年過ぎたかも?永遠の初心者
近況 : 引越しの荷物がまだ片付かない…
  久々のR&D/アカデミア寄りの部署で
  脳の衰えを自覚する日々…
目的
Rとは何かの大雑把な理解と
Rを使うための環境設定が
できるようにする
Rで扱うデータの種類の理解と
外部データの取り込みが
できるようにする
目次
1. Rとは何か
2. Rを使う環境設定
3. packageによる機能拡張
4. データ型とデータ構造
5. 外部データのinput方法の紹介
6. データのoutput方法の紹介
MENU
1. Rとは何か
2. Rを使うための環境設定
- RとRStudioのインストール
3. Rの機能拡張
- Packageの取り込みと呼び出し
4. データ型とデータ構造
-データ型:数値型、文字型、ファクター型
-データ構造:ベクトル、データフレーム、リスト
5. 外部データのImput方法
- table形式
- その他
6. 結果のoutput方法
- dataframe形式
- 画像形式
MENU
1. Rとは何か
2. Rを使うための環境設定
- RとRStudioのインストール
3. Rの機能拡張
- Packageの取り込みと呼び出し
4. データ型とデータ構造
-データ型:数値型、文字型、ファクター型
-データ構造:ベクトル、データフレーム、リスト
5. 外部データのImput方法
- table形式
- その他
6. 結果のoutput方法
- dataframe形式
- 画像形式
Rとは何か
統計学のために特化したプログラム
及び開発環境
- データの読み込み
- 前処理
- 基礎集計
- 統計解析
- 可視化
これらが簡単にできるように設計
MENU
1. Rとは何か
2. Rを使うための環境設定
- RとRStudioのインストール
3. Rの機能拡張
- Packageの取り込みと呼び出し
4. データ型とデータ構造
-データ型:数値型、文字型、ファクター型
-データ構造:ベクトル、データフレーム、リスト
5. 外部データのImput方法
- table形式
- その他
6. 結果のoutput方法
- dataframe形式
- 画像形式
Rを使うための環境設定
R本体のインストール
CRAN(Comprehensive R Archive Network)
・CRANとは:
 公式の本体及びパッケージ配信用Webサイト
Mac環境の場合はhomebrewでもインストール可
homebrewのHP(https://brew.sh/index_ja)
Rを使うための環境設定
おすすめIDE(統合開発環境)はRStudio
RStudio
Mac環境の場合はhomebrew caskでもインストール可
RStudioとは:
その名もRStudio社が提供するRに特化した
開発プラットホーム
RmarkdownやShiny、DWHとの連携がスムース
コーディング中にサジェストや補完機能が充実
MENU
1. Rとは何か
2. Rを使うための環境設定
- RとRStudioのインストール
3. Rの機能拡張
- Packageの取り込みと呼び出し
4. データ型とデータ構造
-データ型:数値型、文字型、ファクター型
-データ構造:ベクトル、データフレーム、リスト
5. 外部データのImput方法
- table形式
- その他
6. 結果のoutput方法
- dataframe形式
- 画像形式
Rの機能拡張
package を追加することで簡単に機能拡張ができる
- 世界中で開発されていて便利な手法がすぐ使える
- デモ実行のためのサンプルデータも使える
R公式のpackage集
- CRAN
- https://cran.ism.ac.jp/
githubに公開されている個人作成package
- こちらは自己責任で
packageの追加
packageの追加方法
1. RStudioのPackagesタブを使う
2. install.package関数を自分で書く
今回の範囲
・オンラインでCRANからインストール
 *オフラインでインストールする場合は下記参照
http://datasciesotist.hatenablog.jp/entry/2015/03/24/004539
・miniCRANパッケージが必要なので最初はオンラインで
注意点
・依存packageを一緒にインストールすること
packageの追加
packageの追加方法
1. RStudioのPackagesタブを使う
- Repository(CRAN)にチェック
- インストールしたいpackage名を入力
- installを押す
チェックを
外さないこと
packageの追加
packageの追加方法
2. install.package関数を自分で書く
- 複数インストールする時はc()で囲む
- 依存packageのうちSuggestsまでインストールする時は
dependencise = TRUE を追加
Example
install.pakcages(c( readr , data.table ),
dependencies = TRUE)
参照:
https://stats.biopapyrus.jp/r/basic/package.html
packageの呼び出し
使う時には library() or require() で環境に呼び出す
> library(dplyr) or require(dplyr)
何が違うか?
- packageがインストールされていなかった場合の挙動 
・library():packgeないよとエラー出して終了 
実はlibrary(., logical.return = TRUE)だと
require()と同じ挙動
・require():packageがあると TRUE 、ないと FALSE を返す
参照:
https://stackoverflow.com/questions/5595512/what-is-the-
difference-between-require-and-library
if(require(tidyr)){
print(paste0("tidyr", " is loaded correctly"))
} else {
print("trying to install tidyr")
install.packages(tidyr)
if(require(tidyr)){
print("tidyr installed and loaded")
} else {
stop("could not install tidyr")
}
}
MENU
1. Rとは何か
2. Rを使うための環境設定
- RとRStudioのインストール
3. Rの機能拡張
- Packageの取り込みと呼び出し
4. データ型とデータ構造
-データ型:数値型、文字型、ファクター型
-データ構造:ベクトル、データフレーム、リスト
5. 外部データのImput方法
- table形式
- その他
6. 結果のoutput方法
- dataframe形式
- 画像形式
データ型とデータ構造
データ型とはRが区別しているデータの扱い
- Rでは大雑把に以下の3つの区分
1.数値型
- numeric:四則演算ができ大小関係がある
2.文字型
- character: で囲んで表現
3.因子(ファクター)型
- factor:文字の裏に順序が定義してあるもの
それぞれ is.**** で確認、 as.**** で変換
データ型とデータ構造
データ構造とは
- Rでは大雑把に以下の3つの区分
1.ベクトル型
- 同じデータ型をまとめた1行だけのデータ列
2.データフレーム型
- 異なるデータ型のベクトルをテーブル構造で格納
3.リスト型
- 大きさも型も異なるデータを格納
外部から取り入れるデータはほぼデータフレーム型
(一部JSON形式のリスト型もあり)
MENU
1. Rとは何か
2. Rを使うための環境設定
- RとRStudioのインストール
3. Rの機能拡張
- Packageの取り込みと呼び出し
4. データ型とデータ構造
-データ型:数値型、文字型、ファクター型
-データ構造:ベクトル、データフレーム、リスト
5. 外部データのImput方法
- table形式
- その他
6. 結果のoutput方法
- dataframe形式
- 画像形式
外部データのinput方法
table形式の場合、方法は3つ
- baseか、packageの data.table / readr
1.base
utils::read.table(file_path)
2.data.table
data.table::fread(file_path)
3.readr
readr::readr_delim(file_path)
外部データのinput方法
良いところ悪いところ
1.utils::read.table
良い
・すぐ使える
・ほぼ全てのfile形式に対してwrapperがある
悪い
・file形式によってwrapperを指定するか引数を
つける必要がある
・データ量が増えると読み込みが遅い
・カラム名が勝手に変わることがある
外部データのinput方法
良いところ悪いところ
2.data.table::fread
良い
・読み込みが早い(大きいファイルほど顕著)
・自動的にfile形式に合わせて読み込む
悪い
・ data.table = FALSE という指定が必要
・ERRORが出た時に融通が効かない
外部データのinput方法
良いところ悪いところ
3.readr::readr_delim
良い
・読み込みが早い
・ほぼ全てのfile形式に対するwrapperがある
・カラム名をほぼそのまま読み込む
悪い
・file形式によってwrapperを指定するか引数を
つける必要がある
外部データのinput方法
その他の形式
- 癖が強いのでオススメしません…
Excelデータ
readxl::read_excel( file_path )
SPSSデータ
haven::read_spss( file_path )
SASデータ
haven::read_sas( file_path )
MENU
1. Rとは何か
2. Rを使うための環境設定
- RとRStudioのインストール
3. Rの機能拡張
- Packageの取り込みと呼び出し
4. データ型とデータ構造
-データ型:数値型、文字型、ファクター型
-データ構造:ベクトル、データフレーム、リスト
5. 外部データのImput方法
- table形式
- その他
6. 結果のoutput方法
- dataframe形式
- 画像形式
結果のoutput方法
table形式の場合
1.base
utils::write.table(data, file_path ,
row.names = FALSE)
注意点
指定しないとカラム名と一緒に列名も出力する
列名の出力をしない指定が row.names = FALSE
2.readr
readr::write_csv(data, file_path )
結果のoutput方法
画像の場合(png形式)
1.base
png( file_path , dpi = …, width = …, height = …)
plot(….)
dev.off()
*ファイル形式ごとに関数がある
2.ggplot2
p=plot(….)
ggplot2::ggsave(file = file_path.png ,
plot = p, dpi = …, width = …, height = …)
*fileの拡張子によって形式を指定
最後に
Rはpackageを始め先人の知恵をうまく使えば
やりたいことのほとんどはできるように
なっています
Rの使い方に困ったら…
1. help()を使う
2. CRANの公式pdfを読む
3. r-wakalangに質問する
4. google先生のお世話になる
ENJOY!

Weitere ähnliche Inhalte

Ähnlich wie Tokyo r80 beginnerssession1

研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
Preferred Networks
 
Rをはじめからていねいに
RをはじめからていねいにRをはじめからていねいに
Rをはじめからていねいに
Tsukasa Fukunaga
 

Ähnlich wie Tokyo r80 beginnerssession1 (20)

エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例
エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例
エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例
 
リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤
 
リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤 リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤
 
Tokyo r94 beginnerssession3
Tokyo r94 beginnerssession3Tokyo r94 beginnerssession3
Tokyo r94 beginnerssession3
 
neural network introduction yapc asia tokyo
neural network introduction yapc asia tokyo neural network introduction yapc asia tokyo
neural network introduction yapc asia tokyo
 
(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方
 
20180718Eightニュースフィード活性化のための自然言語処理の取り組み
20180718Eightニュースフィード活性化のための自然言語処理の取り組み20180718Eightニュースフィード活性化のための自然言語処理の取り組み
20180718Eightニュースフィード活性化のための自然言語処理の取り組み
 
tut_pfi_2012
tut_pfi_2012tut_pfi_2012
tut_pfi_2012
 
ビジネスマネージャとデータ分析
ビジネスマネージャとデータ分析ビジネスマネージャとデータ分析
ビジネスマネージャとデータ分析
 
RStudioでRをはじめよう(R for Beginner using RStudio)
RStudioでRをはじめよう(R for Beginner using RStudio)RStudioでRをはじめよう(R for Beginner using RStudio)
RStudioでRをはじめよう(R for Beginner using RStudio)
 
TokyoR102_BeginnersSession.pdf
TokyoR102_BeginnersSession.pdfTokyoR102_BeginnersSession.pdf
TokyoR102_BeginnersSession.pdf
 
研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
 
リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方
 
Reinvent first-participation-report
Reinvent first-participation-reportReinvent first-participation-report
Reinvent first-participation-report
 
Alteryx UG3 LT #alteryx_ug
Alteryx UG3 LT #alteryx_ugAlteryx UG3 LT #alteryx_ug
Alteryx UG3 LT #alteryx_ug
 
Rをはじめからていねいに
RをはじめからていねいにRをはじめからていねいに
Rをはじめからていねいに
 
Trat_sprint5
Trat_sprint5Trat_sprint5
Trat_sprint5
 
Hadoopカンファレンス2013
Hadoopカンファレンス2013Hadoopカンファレンス2013
Hadoopカンファレンス2013
 
データプランナーによるデータ系施策について
データプランナーによるデータ系施策についてデータプランナーによるデータ系施策について
データプランナーによるデータ系施策について
 
ディープラーニングによる時系列データの異常検知
ディープラーニングによる時系列データの異常検知ディープラーニングによる時系列データの異常検知
ディープラーニングによる時系列データの異常検知
 

Mehr von kotora_0507 (6)

Beginners session2 in TokyoR69
Beginners session2 in TokyoR69Beginners session2 in TokyoR69
Beginners session2 in TokyoR69
 
Beginners session2 68
Beginners session2 68Beginners session2 68
Beginners session2 68
 
Tokyo rの運営方針 2017
Tokyo rの運営方針 2017Tokyo rの運営方針 2017
Tokyo rの運営方針 2017
 
TokyoR58 初心者セッション
TokyoR58 初心者セッションTokyoR58 初心者セッション
TokyoR58 初心者セッション
 
TokyoR #57 初心者セッション
TokyoR #57 初心者セッションTokyoR #57 初心者セッション
TokyoR #57 初心者セッション
 
TokyoR#53初心者セッション
TokyoR#53初心者セッションTokyoR#53初心者セッション
TokyoR#53初心者セッション
 

Tokyo r80 beginnerssession1