SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
20170707 rでkaggle入門
Report
Nobuaki Oshiro
Follow
ヤフー株式会社
Jul. 8, 2017
•
0 likes
•
4,493 views
1
of
77
20170707 rでkaggle入門
Jul. 8, 2017
•
0 likes
•
4,493 views
Download Now
Download to read offline
Report
Technology
fukuoka.R#08 https://fukuoka-r.connpass.com/event/60156/
Nobuaki Oshiro
Follow
ヤフー株式会社
Recommended
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
80.6K views
•
233 slides
ベクトルで理解する相関係数
Satoshi MATSUURA
22.9K views
•
25 slides
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
Toshihiro Kamishima
40.5K views
•
26 slides
ビジネスパーソンのためのDX入門講座エッセンス版
Tokoroten Nakayama
52.4K views
•
26 slides
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
Keiichiro Ono
27.4K views
•
49 slides
{tidygraph}と{ggraph}によるモダンなネットワーク分析
Takashi Kitano
5.2K views
•
55 slides
More Related Content
What's hot
Marp Tutorial
Rui Watanabe
3K views
•
15 slides
良いコードとは
Nobuyuki Matsui
52.7K views
•
28 slides
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
43.4K views
•
39 slides
型安全性入門
Akinori Abe
7.2K views
•
19 slides
Stock prediction
tetsuo ishigaki
13.6K views
•
65 slides
暗号技術の実装と数学
MITSUNARI Shigeo
9.5K views
•
35 slides
What's hot
(20)
Marp Tutorial
Rui Watanabe
•
3K views
良いコードとは
Nobuyuki Matsui
•
52.7K views
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
•
43.4K views
型安全性入門
Akinori Abe
•
7.2K views
Stock prediction
tetsuo ishigaki
•
13.6K views
暗号技術の実装と数学
MITSUNARI Shigeo
•
9.5K views
機械学習と主成分分析
Katsuhiro Morishita
•
13.9K views
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
Junpei Tsuji
•
3.4K views
「全ての確率はコイン投げに通ず」 Japan.R 発表資料
Ken'ichi Matsui
•
12.1K views
失敗から学ぶデータ分析グループのチームマネジメント変遷
Tokoroten Nakayama
•
25.2K views
協調フィルタリング入門
hoxo_m
•
45.6K views
実践で学ぶネットワーク分析
Mitsunori Sato
•
58K views
逐次モンテカルロ法の基礎
ShoutoYonekura
•
1.3K views
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
Tokoroten Nakayama
•
17.8K views
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
•
44.5K views
線形代数の視覚的理解 V1.1-Gストラング勉強会
Kenji Hiranabe
•
460 views
こわくない Git
Kota Saito
•
878.1K views
わかりやすいパターン認識_3章
weda654
•
18.4K views
「速」を落とさないコードレビュー
Takafumi ONAKA
•
55.4K views
地図タイルを作成・公開してみて わかった108個のこと(foss4g tokyo 2013発表資料)
Mizutani Takayuki
•
8.2K views
More from Nobuaki Oshiro
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
Nobuaki Oshiro
1.4K views
•
43 slides
20170909 reafletでお手軽可視化 on_r_20分ver_up用
Nobuaki Oshiro
1.4K views
•
51 slides
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
Nobuaki Oshiro
897 views
•
36 slides
20170312 r言語環境構築&dplyr ハンズオン
Nobuaki Oshiro
1.1K views
•
36 slides
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
8.4K views
•
33 slides
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
3.2K views
•
107 slides
More from Nobuaki Oshiro
(20)
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
Nobuaki Oshiro
•
1.4K views
20170909 reafletでお手軽可視化 on_r_20分ver_up用
Nobuaki Oshiro
•
1.4K views
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
Nobuaki Oshiro
•
897 views
20170312 r言語環境構築&dplyr ハンズオン
Nobuaki Oshiro
•
1.1K views
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
•
8.4K views
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
•
3.2K views
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
•
2.2K views
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
•
9.6K views
15 0117 kh-coderご紹介 for R users
Nobuaki Oshiro
•
3.5K views
15 0117 kh-coderご紹介
Nobuaki Oshiro
•
862 views
15 0117 r言語活用事例-外部公開用
Nobuaki Oshiro
•
3.1K views
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
Nobuaki Oshiro
•
9K views
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
•
3.6K views
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
•
3.4K views
10分で分かるr言語入門ver2.8 14 0712
Nobuaki Oshiro
•
3K views
10分で分かるr言語入門ver2.7
Nobuaki Oshiro
•
7.2K views
10分で分かるr言語入門ver2 6
Nobuaki Oshiro
•
9.8K views
10分で分かるr言語入門ver2.5
Nobuaki Oshiro
•
36.6K views
10分で分かるr言語入門ver2.4
Nobuaki Oshiro
•
3.9K views
Doradora09 lt tokyo_r33
Nobuaki Oshiro
•
1.4K views
Recently uploaded
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
26 views
•
23 slides
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
57 views
•
12 slides
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
25 views
•
20 slides
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
97 views
•
31 slides
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
81 views
•
16 slides
GraphQLはどんな時に使うか
Yutaka Tachibana
6 views
•
37 slides
Recently uploaded
(8)
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
•
26 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
57 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
25 views
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
97 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
81 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
6 views
テスト自動化.pdf
ssuserf8ea02
•
16 views
gtk4_gem_usage.pdf
ssuser0ef4681
•
11 views
20170707 rでkaggle入門
1.
Rでkaggle入門 ~いつものTitanicを例題に~ 2017/07/07 doradora09
2.
はじめに • 以下は個人的見解のスライドになります • 所属する企業の見解ではありませんのでご注意ください
3.
アジェンダ • 自己紹介 • R
& Kaggle紹介 • Titanicチュートリアル紹介 • 解析例① ジェンダーモデル • 解析例② 決定木 • 解析例③ ランダムフォレスト • まとめ
4.
アジェンダ • 自己紹介 • R
& Kaggle紹介 • Titanicチュートリアル紹介 • 解析例① ジェンダーモデル • 解析例② 決定木 • 解析例③ ランダムフォレスト • まとめ
5.
自己紹介 • 大城信晃 • twitter
: doradora09 • 沖縄 出身 -> 東京 -> 福岡 • Webエンジニア -> データ分析者 • ヤフー -> DATUM STUDIO -> LINE Fukuoka
6.
関わったことのあるサービス(抜粋)
7.
その他 • 執筆 • Rではじめるビジネス統計分析 •
勉強会 • Tokyo.R • 2010-2016の運営メンバー • fukuoka.R • 2017- #07回からJOIN • 7/7(金)に#08 開催予定 • 意思決定のためのデータ分析勉強会 • 2017/06 - • 主催
8.
アジェンダ • 自己紹介 • R
& Kaggle紹介 • Titanicチュートリアル紹介 • 解析例① ジェンダーモデル • 解析例② 決定木 • 解析例③ ランダムフォレスト • まとめ
9.
なぜこのテーマか? • よく聞く悩み データ分析は興味がるけ どデータが無いし基盤も ないなぁ
10.
なぜこのテーマか? • よく聞く悩み データ分析は興味がるけ どデータが無いし基盤も ないなぁ 無料で使える便利なツールと いい感じのデータセットと 使い方の事例がどこかに落ち てないかなぁ・・ 無料で。
11.
そこでR & kaggle
!!
12.
Rとは https://ja.wikipedia.org/wiki/R%E8%A8%80%E8%AA%9E R言語(あーるげんご)はオープンソー ス・フリーソフトウェアの統計解析向けの プログラミング言語及びその開発実行環境 である。 Wikipediaより パッケージが豊富。しかも無料。
13.
Kaggleとは Kaggleは企業や研究者がデータを投稿し、 世界中の統計家やデータ分析家がその最適 モデルを競い合う、予測モデリング及び分 析手法関連プラットフォーム及びその運営 会社である。 Wikipediaより https://ja.wikipedia.org/wiki/Kaggle データとサンプルコードも充実
14.
Kaggleのサイト説明 https://www.kaggle.com/
15.
データセットタブ 色々な データセットが ある
16.
データセットタブ Irisデータも あるよ!
17.
Irisデータの場合 ここからデータを落とせる
18.
Irisデータ中身
19.
ちなみに • Rだと標準のデータセットにirisデータが入ってたりします > head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species1 5.1 3.5 1.4 0.2 setosa2 4.9 3.0 1.4 0.2 setosa3 4.7 3.2 1.3 0.2 setosa4 4.6 3.1 1.5 0.2 setosa5 5.0 3.6 1.4 0.2 setosa6 5.4 3.9 1.7 0.4 setosa
20.
データだけ? いえ、サンプルコードもあります 対応言語
21.
サンプルは マークダウンで書かれてます(Jupyterかな?) https://www.kaggle.com/c34klh123/iris-data-with-ggplot-shiny
22.
サンプルは マークダウンで書かれてます(Jupyterかな?) https://www.kaggle.com/c34klh123/iris-data-with-ggplot-shiny
23.
コードもあります。Forkできます https://www.kaggle.com/c34klh123/iris-data-with-ggplot-shiny
24.
Fork Scriptで編集 &
実行できます (いつの間に・・)
25.
Fork Scriptで編集 &
実行できます (いつの間に・・)
26.
Web上で実行までできる
27.
超便利!!
28.
よっしデータもあるし Rも(Pythonも)使えるし バッチリだわ!
29.
よっしデータもあるし Rも(Pythonも)使えるし バッチリだわ! でも練習だけだと物足りな いなぁ。 欲をいえば賞金や名誉も もらえないかなぁ。
30.
賞金や名誉もあります!
31.
賞金:コンペ • Kaggleでは企業等が資金を出す分析コンペがあります • 大まかな流れ 1.
トレーニングデータを使ってモデル構築&学習 2. データをアップロードして正答率でランキング化 • 国内企業の事例だとリクルートが2015年にポンパレのコンペを 実施
32.
http://www.recruit.jp/news_data/release/2015/0716_15946.html
33.
調べてたら2017年にgoogleがkaggle買収して たようです。賞金100万ドル・・!! http://jp.techcrunch.com/2017/03/11/20170310google-partners-with- vcs-to-host-its-own-machine-learning-startup-competition/
34.
名誉:Kaggle Master • Kaggle
Masterになると色々なところから声がかるようです • 条件 • 2つの公開コンペで上位10%に入る • そのうち1つは10位以内に入る • 国内で類似の事例だと新日鉄住金ソリューションズのチームは データ分析コンペのKDD Cup 2015で2位となり、一躍有名にな りました (2014はKaggle上でやってた模様)
35.
http://www.nssol.nssmc.com/technology/data-analysis/kdd-cup-2015.html 名誉:データ分析コンペ上位ランカー
36.
http://it.impressbm.co.jp/articles/-/12969 きっかけにWeb連載が始まったり
37.
この辺の会社から声がかかることもあるよう です https://www.itnex.jp/datarobot/
38.
アジェンダ • 自己紹介 • R
& Kaggle紹介 • Titanicチュートリアル紹介 • 解析例① ジェンダーモデル • 解析例② 決定木 • 解析例③ ランダムフォレスト • まとめ
39.
本日はKaggleチュートリアルとして 有名なTitanicの例題をご紹介
40.
Titanic号 タイタニック(RMS Titanic)は、20世紀 初頭に建造された豪華客船である。 処女航海中の1912年4月14日深夜、北大西 洋上で氷山に接触、翌日未明にかけて沈没 した。犠牲者数は乗員乗客合わせて1,513 人(他に1,490人、1,517人、1,522〜23人 1609人など様々な説がある)であり、当時 世界最悪の海難事故であった[1]。その後、 映画化されるなどして世界的にその名を知 られている。 Wikipediaより https://ja.wikipedia.org/wiki/%E3%82%BF%E3%82%A4 %E3%82%BF%E3%83%8B%E3%83%83%E3%82%AF_(% E5%AE%A2%E8%88%B9)
41.
課題とデータセット • 課題:下記のデータを使って乗客の生存率を予測する • train.csv
: トレーニングデータ • test.csv : テストデータ
42.
データ読み込みと中身確認 ## 作業フォルダに移動 setwd('/Users/st20909/Desktop/r_titanic') ## オブジェクトクリア rm(list
= ls(all.names = TRUE)) ## ファイル読み込み train <- read.csv("train.csv", stringsAsFactors=F) test <- read.csv("test.csv", stringsAsFactors=F) ## 上位数件を確認 head(train, n=2) head(test, n=2) > head(train, n=2) PassengerId Survived Pclass1 1 0 32 2 1 1 Name Sex Age1 Braund, Mr. Owen Harris male 222 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 SibSp Parch Ticket Fare Cabin Embarked1 1 0 A/5 21171 7.2500 S2 1 0 PC 17599 71.2833 C85 C
43.
Rstudioの場合は表形式でデータ確認可能です オブジェクトを クリックすればOK
44.
• test.csv • train.csv train.csvにのみ生存のフラグが付与されている。 test.csvはここが不明なので、ここの1,
0を予測する
45.
データセット各項目 http://www.mirandora.com/?p=1804
46.
基礎集計 性別だけでもだいぶ生存の傾向が見て取れる
47.
シンプルな戦略:ルールベース(性別) • まずは単純に、女性は生存、男性は非生存というルールベース (のモデル?)で予測してみる • 各手法で正答率を上げる前のベースラインとして活用 (データの分布によっては全部0や全部1だけでも7割以上当たる 可能性もあるので、注意が必要)
48.
男性は0、女性は1のフラグを立てて kaggleにsubmitする ### シンプルな戦略:ルールベース(性別) ### 男性は0、女性は1として生存予測 ##
データ加工用にdplyr入れておく install.packages('dplyr') library(dplyr) ans_1 <- test %>% dplyr::select(PassengerId, Sex) %>% dplyr::mutate(Survived=ifelse(Sex=='female', 1, 0)) %>% dplyr::select(PassengerId, Survived) %>% print() head(ans_1) write.table(ans_1, 'ans_1.csv', quote=F, row.name=F, sep=',') ## 作成したファイルはkaggle上でsubmitしてみる
49.
作ったcsvファイルを ドラッグ&ドロップでsubmit
50.
作ったcsvファイルを ドラッグ&ドロップでsubmit
51.
作ったcsvファイルを ドラッグ&ドロップでsubmit
52.
今回は正解率0.76555の5275位 正解率76%。ルールベースも意外と侮れない
53.
上位ランカーは0.88くらい (1もいるが多分チートなので無視)
54.
参考:2016/10/21時点のスコア分布 http://www.mirandora.com/?p=1804
55.
その2:決定木 • お手軽な方法として、決定木で分類してみる
56.
決定木とは 機械学習の分野においては決定木は予測モ デルであり、ある事項に対する観察結果か ら、その事項の目標値に関する結論を導く。 内部節点は変数に対応し、子節点への枝は その変数の取り得る値を示す。 葉(端点) は、根(root)からの経路によって表される 変数値に対して、目的変数の予測値を表す。 Wikipediaより https://ja.wikipedia.org/wiki/%E6%B1%BA%E5%AE%9 A%E6%9C%A8
57.
まずはtrain.csvで決定木の学習 #### 決定木 install.packages('rpart') library(rpart) train.rpart <-
rpart(Survived ~ Sex + Age+ Pclass, data = train) print(train.rpart) > print(train.rpart) n= 891 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 891 342 0 (0.61616162 0.38383838) 2) Sex=male 577 109 0 (0.81109185 0.18890815) 4) Age>=6.5 553 93 0 (0.83182640 0.16817360) * 5) Age< 6.5 24 8 1 (0.33333333 0.66666667) * 3) Sex=female 314 81 1 (0.25796178 0.74203822) 6) Pclass>=2.5 144 72 0 (0.50000000 0.50000000) 12) Age>=38.5 12 1 0 (0.91666667 0.08333333) * 13) Age< 38.5 132 61 1 (0.46212121 0.53787879) 26) Age>=5.5 117 57 1 (0.48717949 0.51282051) 52) Age< 12 8 0 0 (1.00000000 0.00000000) * 53) Age>=12 109 49 1 (0.44954128 0.55045872) * 27) Age< 5.5 15 4 1 (0.26666667 0.73333333) * 7) Pclass< 2.5 170 9 1 (0.05294118 0.94705882) * 補足: Survived ~ Sex + Age+ Pclass 目的変数 ~ 説明変数
58.
まずはtrain.csvで決定木の学習 ### 図示してみる install.packages('rpart.plot') library(rpart.plot) rpart.plot(train.rpart, type=2,
extra=101) 891人おり、生存率は38% 女性の場合314人 おり、 生存率は74% 男性の場合577人おり、 生存率は19% 各条件での生存率(12%- 95%)とボリュームn
59.
次に、test.csvに対して予測 ### 予測 ans_2 <-
predict(train.rpart, test, method='class') head(ans_2) hist(ans_2) ## 一旦0.5を閾値に生存、非生存を分ける ans_2b <- test %>% dplyr::select(PassengerId) %>% cbind(ans_2) %>% dplyr::mutate(Survived=ifelse(ans_2 >= 0.5, 1, 0)) %>% dplyr::select(PassengerId, Survived) %>% print() write.table(ans_2b, 'ans_2.csv', quote=F, row.name=F, sep=',')
60.
次に、test.csvに対して予測 ### 予測 ans_2 <-
predict(train.rpart, test, method='class') head(ans_2) hist(ans_2) ## 一旦0.5を閾値に生存、非生存を分ける ans_2b <- test %>% dplyr::select(PassengerId) %>% cbind(ans_2) %>% dplyr::mutate(Survived=ifelse(ans_2 >= 0.5, 1, 0)) %>% dplyr::select(PassengerId, Survived) %>% print() write.table(ans_2b, 'ans_2.csv', quote=F, row.name=F, sep=',') > head(ans_2) 1 2 3 4 5 6 0.11547344 0.08333333 0.11547344 0.11547344 0.53787879 0.11547344
61.
作ったcsvファイルを ドラッグ&ドロップでsubmit
62.
結果、 全然ダメ・・!!(0.74163)
63.
試しに0.7を閾値に設定してsubmit
64.
ちょっと上がった(0.75598) が、ジェンダーモデルには勝てず。
65.
問題点 • 結局、うまく分離 できないケースが存在 この辺が微妙な分類結果
66.
問題点と対策 • 対策 • モデルをチューニングする •
木の深さや学習回数などのパラメータチューニング • 説明変数を変える • うまく説明がつく別の切り口がないか探索 (feature engineering) • モデルを変更する • 例えば、ランダムフォレスト
67.
ランダムフォレスト • 決定木をたくさん作って多 数決を取るアイディア • 木ごとにバリエーションが 生まれれば単一の木では分 離できないケースも解ける ことがある http://chaya.webcrow.jp/r%E3%81%A7%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3 %83%95%E3%82%A9%E3%83%AC%E3%82%B9%E3%83%88%EF%BC%88random-
68.
その3:ランダムフォレストを試す ##ランダムフォレスト install.packages('randomForest') library(randomForest) train2 <- train test2
<- test #前処理:AgeがNAのものを補完 train2$Age <- ifelse(is.na(train$Age), mean(na.omit(train$Age)), train$Age) test2$Age <- ifelse(is.na(test$Age), mean(na.omit(test$Age)), test$Age) #randomeforestでエラー吐くのでchr型の変数をfactor型に変換 train2$Survived <- as.factor(train2$Survived) train2$Sex <- as.factor(train2$Sex) test2$Sex <- as.factor(test2$Sex) #学習 train.rf <- randomForest(Survived~Sex+Age+Pclass, data=train2) pred <- predict(train.rf, test2)
69.
その3:ランダムフォレストを試す #予測&ファイル作成 pred <- predict(train.rf,
test2) ans_4<- test2 %>% dplyr::select(PassengerId) %>% dplyr::mutate(Survived=pred) %>% dplyr::select(PassengerId, Survived) %>% print() write.table(ans_4, 'ans_4.csv', quote=F, row.name=F, sep=',')
70.
結果・・上がった!!(0.77512)
71.
ここまで • Ageの補完もあるが、ノーチューニングでそこそこの値が出た のでやはりランダムフォレストは便利 • まだまだスコアを上げるための手段はありますが、雰囲気は掴 んでいただけたのではないでしょうか
72.
ちなみに • Rで色々な手法を試すなら{caret}パッケージが便利です • methodのパラメータ指定変えるだけで手法を変更可能 •
randomForestだけでも5種類 (他の手法合わせると200以上) http://topepo.github.io/caret /available-models.html
73.
アジェンダ • 自己紹介 • R
& Kaggle紹介 • Titanicチュートリアル紹介 • 解析例① ジェンダーモデル • 解析例② 決定木 • 解析例③ ランダムフォレスト • まとめ
74.
まとめ:今回語られてないこと • 過学習対策 • 本当なら学習データを分割して使った方が良いです •
交差検証(クロスバリデーション)など • 特徴量生成 • 例えば、氏名からMr.やMrs.といった敬称を抽出して変 数化 • パラメータチューニング • Rだと自動でやってくれるので使い方を覚えると便利で す • 複数モデルの連携 • 異なるモデルの予測値を説明変数に使う、なども有効な ことがあるようです • 黒魔術的なテクニック、などなど • set.seed(71)
75.
まとめ:今回語られてないこと • 過学習対策 • 本当なら学習データを分割して使った方が良いです •
交差検証(クロスバリデーション)など • 特徴量生成 • 例えば、氏名からMr.やMrs.といった敬称を抽出して変 数化 • パラメータチューニング • Rだと自動でやってくれるので使い方を覚えると便利で す • 複数モデルの連携 • 異なるモデルの予測値を説明変数に使う、なども有効な ことがあるようです • 黒魔術的なテクニック、などなど • set.seed(71) Kaggleであれば 先人の手法が公開されている ので勉強にも最適! (特に、Titanic)
76.
まとめ:結びに • データ分析を始めたい、という方にはKaggleがオススメ • 先人が残してくれたRのサンプルも多数存在 •
上位に入れれば賞金や名声、自慢もできるのでまずはトライして見 てはいかがでしょうか
77.
ご清聴ありがとうございました!!