Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
はじめてのR@fukuoka.R#08
Search
nonki1974
July 07, 2017
Technology
0
550
はじめてのR@fukuoka.R#08
nonki1974
July 07, 2017
Tweet
Share
More Decks by nonki1974
See All by nonki1974
GTFS with Tidytransit package
nonki1974
0
300
TokyoR#84_Rexams
nonki1974
0
200
都道府県別焼き鳥屋ランキングの作成
nonki1974
1
870
Introduction to R
nonki1974
0
330
Introduction to dplyr
nonki1974
0
460
Introduction to ggplot2
nonki1974
1
490
Analyzing PSB tracks with R
nonki1974
0
580
introduction to fukuoka.R @ Fukuoka.LT
nonki1974
0
59
所要時間のヒートマップを作成する
nonki1974
0
520
Other Decks in Technology
See All in Technology
モバイル界のMCPを考える
naoto33
0
440
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
110
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
390
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
250
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
210
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
160
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
2
6.5k
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
130
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
240
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
1.9k
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
15k
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
990
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
960
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Done Done
chrislema
184
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Stop Working from a Prison Cell
hatefulcrawdad
270
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Statistics for Hackers
jakevdp
799
220k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
Transcript
はじめてのR @nonki1974 2017/07/07 fukuoka.R#08 20分で分かる!
R | 統計解析ソフトウェア・環境・言語 スクリプトでデータ分析手順を記録できる 異なるデータへの同じ処理の適用 豊富なパッケージ群(10000以上!) カスタマイズ可能な統計グラフィックス R Markdownによるレポートへの分析結果の埋め込み
Rのダウンロードとインストール CRAN:http://cran.r-project.org/ 国内ミラーサイト:http://cran.ism.ac.jp/
Rの起動 ここにコマンドを入力
簡易エディタ [Ctrl]+[r]でコンソールに 送られて実行される
Macでも [Command]+[Enter] でコンソールに 送られて実行される
Rの基本 データ構造 データ型 ベクトル 行列・配列 リスト データフレーム 整数型 実数型 論理型
文字列 因子型
ベクトル|データ構造の基本 > # 正規乱数を6個生成 > rnorm(6) [1] 0.005495013 -0.890328528 -0.263456883
[4] -1.157257872 1.834184513 0.045427708 行の先頭が何番目の 要素かを示している
ベクトル 数値も長さ1のベクトルとして扱われる! > 3+4 [1] 7
変数への代入 > x <- rnorm(2) > x [1] -0.6129402 0.9781342
代入記号は <- 変数+[Enter]で中身を表示
ベクトルの作成 > y <- c(3, 4.5) > y [1] 3.0
4.5 c()関数で値をつなげて ベクトルを作成
行列・配列 次元属性を持ったベクトル > x <- rnorm(6) > x [1] 0.18895713
-0.95296182 -0.44022548 [4] 1.16125533 0.69121613 0.00886386 > dim(x) <- c(2,3) > x [,1] [,2] [,3] [1,] 0.1889571 -0.4402255 0.69121613 [2,] -0.9529618 1.1612553 0.00886386 > x[2,3] [1] 0.00886386 > x[5] [1] 0.6912161
リスト データ型の異なる複数のベクトルや、 複数のリストを一括して保持できるデータ構造 分析結果はリストで返されることが多い > date <- "2017-07-07" > name
<- c("コイキング", "イーブイ") > cp <- c(23, 182) > > pokemon <- list(date=date, name=name, cp=cp) > pokemon $date [1] "2017-07-07" $name [1] "コイキング" "イーブイ" $cp [1] 23 182
リスト | 要素の参照 > pokemon$name [1] "コイキング" "イーブイ" > pokemon[[2]]
[1] "コイキング" "イーブイ" > pokemon[2] $name [1] "コイキング" "イーブイ" [[要素番号]] もしくは $要素名で オブジェクト自身を参照可能 [要素番号] の場合はリストが返される
データフレーム 行列風の外見を持つリスト 同じ大きさのベクトルを要素とする > name <- c("コイキング", "イーブイ", "フシギダネ") >
cp <- c(23, 182, 128) > weight <- c(7.95, 7.54, 6.95) > height <- c(0.78, 0.32, 0.65) > df <- data.frame(name, cp, weight, height) > df name cp weight height 1 コイキング 23 7.95 0.78 2 イーブイ 182 7.54 0.32 3 フシギダネ 128 6.95 0.65
データフレーム|要素の参照 > df$cp [1] 23 182 128 > df[,2] [1]
23 182 128 > df[1,] name cp weight height 1 コイキング 23 7.95 0.78 > colnames(df) [1] "name" "cp" "weight" "height" > rownames(df) [1] "1" "2" "3"
csvファイルの読み込み | read.csv()関数 csvファイルを読み込んで、データフレームに格納 > setwd(“~/temp/work”) > pokemon <- read.csv("pokemon.csv")
> head(pokemon[,c("id","name","CP","weight","height")]) id name CP weight height 1 2 フシギソウ 303 13.61 1.04 2 7 ゼニガメ 91 11.66 0.53 3 11 トランセル 83 3.41 0.63 4 15 スピアー 69 29.50 1.06 5 18 ピジョット 783 19.12 1.45 6 20 ラッタ 474 2.97 0.70
要約 | summary()関数 > summary(pokemon) id name CP sex Min.
: 2.00 イーブイ : 2 Min. : 10.0 オス:45 1st Qu.: 54.25 アーボック: 1 1st Qu.: 142.8 なし: 4 Median :108.50 アズマオウ: 1 Median : 299.5 メス:23 Mean :107.44 イシツブテ: 1 Mean : 371.6 3rd Qu.:152.75 イトマル : 1 3rd Qu.: 506.2 Max. :226.00 ウソッキー: 1 Max. :1324.0 (Other) :65 HP weight height type1 Min. : 10.00 Min. : 0.120 Min. :0.1900 みず :15 1st Qu.: 31.00 1st Qu.: 5.122 1st Qu.:0.4475 ノーマル:13 Median : 48.50 Median : 11.125 Median :0.8800 むし : 8 Mean : 50.26 Mean : 23.148 Mean :0.9422 くさ : 7 3rd Qu.: 62.25 3rd Qu.: 31.545 3rd Qu.:1.2800 ほのお : 6 Max. :137.00 Max. :136.010 Max. :3.9800 いわ : 4 (Other) :19
要約の続き | summary()関数 type2 waza1 AP1 :39 たいあたり :12 Min.
: 0.000 ひこう :10 みずてっぽう : 5 1st Qu.: 5.000 どく : 8 でんこうせっか: 4 Median : 6.500 エスパー: 3 ねんりき : 4 Mean : 8.167 じめん : 3 ひのこ : 4 3rd Qu.:10.000 いわ : 2 あわ : 3 Max. :20.000 (Other) : 7 (Other) :40 waza2 AP2 date pref こごえるかぜ : 4 Min. : 35.00 2017/6/20: 8 東京都: 2 10まんボルト: 3 1st Qu.: 55.00 2016/7/24: 6 福岡県:70 アクアテール : 3 Median : 70.00 2016/7/25: 4 ニトロチャージ: 3 Mean : 73.53 2016/7/26: 4 ヘドロばくだん: 3 3rd Qu.: 90.00 2016/7/27: 4 わるあがき : 3 Max. :180.00 2016/7/30: 4 (Other) :53 (Other) :42 city 江東区 : 1 港区 : 1 福岡市中央区: 6 福岡市東区 :10 福岡市南区 :54
プロットの例 > plot(height~weight, data=pokemon) > hist(pokemon$CP)
パッケージのインストール&ロード > # パッケージのインストール > install.packages(c("ggplot2", "dplyr")) > # パッケージのロード
> library(ggplot2) > library(dplyr)
パッケージ利用例 | dplyr & ggplot2 > pokemon %>% + select(CP,
weight, height, type1) %>% + group_by(type1) %>% + summarise_all(mean) %>% + ggplot(aes(weight, height, label=type1)) + + geom_text(aes(color=type1), size=8) + + theme_bw(base_size=20) + + theme(legend.position="none")
出力結果
次のステップとして・・・ • RStudio • 欠損値 • 因子型(factor) • dplyrパッケージ •
文字列処理 • apply系関数群 • R Markdown
書籍 分析手法の説明 +Rでの実行例 グラフ作成の リファレンス R言語全般の リファレンス
enjoy!