SlideShare a Scribd company logo
1 of 23
Download to read offline
第1回 R言語勉強会
信州大学 久保琢也
2020年10月
自己紹介
自己紹介:概略
【氏名】久保 琢也
【所属】信州大学 学術研究・産学官連携機構
【職位】助教(URA)
【出身】熊本県
【専門】元々:言語学、日本語教育
現在:図書館情報学、科学計量学
(人社系の研究評価)
自己紹介:プログラミング経験
❖ R(2010∼)
− 大学院生
• 実験データの統計解析のためにR言語の勉強を始める。
− URA
• CourseraやBootcampでデータ分析に関する独習を始める
• 信大のIR担当になってからRの知識・スキルが飛躍的に上昇
❖ Python(2019∼)
• Python人口の多さに屈して学習を始める
• 同僚を対象とした勉強会を主催(計15回)
• 文系人間には正直しんどい…
自己紹介:勉強会の動機
❖ 第49回リバネス研究費 日本の研究.com賞 受賞
(https://r.lne.st/2020/10/15/49th_lgrant_reseach-er-jp_winner/)
− 提案内容:R言語を用いたオンライン分析ツール開発。
文科省の産連調査がベース。
− 方法:協力者を募ってチーム開発
誰か一緒にやりませんか?
イントロ
R言語について:概要
❖ R言語とは
− 統計計算とグラフィックスのためのプログラミング言語
− オークランド大学のRoss IhakaとRobert Gentleman
により開発
− 現在ではR Development Core Teamによりメンテナン
スと拡張がなされている
− オープンソースで無償
R言語について:人気ランク
https://www.tiobe.com/tiobe-index/
R言語について:機能性
❖ R言語 + Rstudioでできること
− データ分析/統計解析
− 美しいグラフィック
− 機械学習/深層学習
− 自然言語処理
− ウェブスクレイピング
− レポーティング(PPT, Word, PDF, HTML)
− etc.
ウェブアプリ
ウェブサイト
R言語について:パッケージ
❖ 豊富なパッケージ(ライブラリ)
− 特定の目的のために開発された関数(機能)やデータセッ
トの集まり
− パッケージに頼らなくてもある程度のことはできるが、
パッケージを使った方が格段に便利
− Rやパッケージのver.によって動作しないことがある
(それぞれ古いver.に戻すことも可能)
可視化
パッケージ
データ操作
パッケージ
文字列操作
パッケージ
機械学習
パッケージ
Baseパッケージ
Rの実行環境
勉強会について
❖ 当面の内容
報告
分析・可視化
データの前処理
データの取得
− データの操作
・データの読み込み、書き出し
・新しい列の作成
・縦持ち/横持ち変換
・文字列処理
・複数のテーブルの結合
− データの集計・要約
・クロス集計
・代表値(平均値、中央値)の算出
− グラフ化
・棒グラフ
・折れ線グラフ
・ヒストグラム
内容例
勉強会について
❖ スケジュール
− 隔週金曜日の18時∼19時
− 間の週の木曜日は18時∼19時にフォローアップ会
10月16日(金):第1回
10月22日(木):フォローアップ
10月30日(金):第2回
11月 5日(木):フォローアップ
11月13日(金):第3回
11月19日(木):フォローアップ
11月27日(金):第4回
勉強する際の心得(私見)
❖ 「できること」を理解する
− コードそのものは覚えなくても良い
− 具体的な方法はネットでいくらでも見つかる
❖ 細かいことは気にしない
− やりたいことを実現するためのコードは無数にある。
− コードが汚くても、まずは正しい結果が出れば良い。
❖ 分からないことは人に聞くのが早い
− 自分の疑問はみんなの疑問
− C4RAはSlackでのコミュニケーション基盤がある!
Rの基礎の基礎
Rstudioの使い方
とりあえずRスクリプトを開く
Rstudioの使い方
Rスクリプト(下書き)
Rコンソール(実行) フォルダ、可視化、Help等
環境(変数、関数)等
Rstudioの使い方
①コードを書く
②コードを実行
スクリプトで実行したいコードにカーソルを
合わせる
(Win)control + Enter
(Mac)command + Enter
自動的にコンソールで実行される
Rstudioの使い方
コンソールが「>」のときに
新しいコードを実行可能
「+」はコードが終わっていないことを示す
⇨ 続きを書く or 中断する(Escape)
算術演算子
# 足し算
1 + 1
# 引き算
5 - 2
# 掛け算
3 * 6
# 割り算
12 / 4
# 累乗
2 ^ 10
比較演算子
# 「等しい」かどうか
1 == 1
# 「等しくない」かどうか
5 != 2
# 「左側が右側よりも大きい」かどうか
3 > 6
# 「右側が左側よりも大きい」かどうか
1 < 4
# 「左側が右側以上」かどうか
5 >= 8
# 「右側が左側以上」かどうか
1 <= 4
変数(Varibale)
❖ 変数
− 何らかのオブジェクトを入れておく箱
− 変数名は文字(大文字、小文字は区別)、数字、アンダーラ
イン、ドットを使う
− 変数に代入するのは「 <- 」
# 変数 x に2を代入
x <- 2
# 変数 y に3を代入
y <- 3
# 変数同士の計算
z <- x + y
# z の中身を確認
z
関数(Function)
❖ 関数
− 与えられた値(引数)に対して何らかの処理を行った値
(戻り値)を返す
− 関数名(引数1, 引数2, 引数3 …)
# 平方根を返す関数
sqrt( 9 )
# 常用対数を返す関数
log10( 100 )
# 絶対値を返す関数
abs( -5 )
ヘルプ
❖ 困ったときは
− 関数の使い方を調べる方法として
(※help( ) は関数以外の調べ物にも使える)
− で関数を調べる場合、関数のカッコは不要
help( )
help( )
sum( )の使い方を調べたい
⇨ help( sum )

More Related Content

More from Takuya Kubo

R言語勉強会#0.pdf
R言語勉強会#0.pdfR言語勉強会#0.pdf
R言語勉強会#0.pdfTakuya Kubo
 
テーマ別勉強会(R言語)#4.pdf
テーマ別勉強会(R言語)#4.pdfテーマ別勉強会(R言語)#4.pdf
テーマ別勉強会(R言語)#4.pdfTakuya Kubo
 
テーマ別勉強会(R言語)#3.pdf
テーマ別勉強会(R言語)#3.pdfテーマ別勉強会(R言語)#3.pdf
テーマ別勉強会(R言語)#3.pdfTakuya Kubo
 
テーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdfテーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdfTakuya Kubo
 
テーマ別勉強会(R言語)#1.pdf
テーマ別勉強会(R言語)#1.pdfテーマ別勉強会(R言語)#1.pdf
テーマ別勉強会(R言語)#1.pdfTakuya Kubo
 
R言語勉強会#10.pdf
R言語勉強会#10.pdfR言語勉強会#10.pdf
R言語勉強会#10.pdfTakuya Kubo
 
R言語勉強会#9.pdf
R言語勉強会#9.pdfR言語勉強会#9.pdf
R言語勉強会#9.pdfTakuya Kubo
 
R言語勉強会#8.pdf
R言語勉強会#8.pdfR言語勉強会#8.pdf
R言語勉強会#8.pdfTakuya Kubo
 
R言語勉強会#7.pdf
R言語勉強会#7.pdfR言語勉強会#7.pdf
R言語勉強会#7.pdfTakuya Kubo
 
R言語勉強会#6.pdf
R言語勉強会#6.pdfR言語勉強会#6.pdf
R言語勉強会#6.pdfTakuya Kubo
 
R言語勉強会#5.pdf
R言語勉強会#5.pdfR言語勉強会#5.pdf
R言語勉強会#5.pdfTakuya Kubo
 
R言語勉強会#4.pdf
R言語勉強会#4.pdfR言語勉強会#4.pdf
R言語勉強会#4.pdfTakuya Kubo
 
R言語勉強会#3.pdf
R言語勉強会#3.pdfR言語勉強会#3.pdf
R言語勉強会#3.pdfTakuya Kubo
 
R言語勉強会#2.pdf
R言語勉強会#2.pdfR言語勉強会#2.pdf
R言語勉強会#2.pdfTakuya Kubo
 

More from Takuya Kubo (14)

R言語勉強会#0.pdf
R言語勉強会#0.pdfR言語勉強会#0.pdf
R言語勉強会#0.pdf
 
テーマ別勉強会(R言語)#4.pdf
テーマ別勉強会(R言語)#4.pdfテーマ別勉強会(R言語)#4.pdf
テーマ別勉強会(R言語)#4.pdf
 
テーマ別勉強会(R言語)#3.pdf
テーマ別勉強会(R言語)#3.pdfテーマ別勉強会(R言語)#3.pdf
テーマ別勉強会(R言語)#3.pdf
 
テーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdfテーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdf
 
テーマ別勉強会(R言語)#1.pdf
テーマ別勉強会(R言語)#1.pdfテーマ別勉強会(R言語)#1.pdf
テーマ別勉強会(R言語)#1.pdf
 
R言語勉強会#10.pdf
R言語勉強会#10.pdfR言語勉強会#10.pdf
R言語勉強会#10.pdf
 
R言語勉強会#9.pdf
R言語勉強会#9.pdfR言語勉強会#9.pdf
R言語勉強会#9.pdf
 
R言語勉強会#8.pdf
R言語勉強会#8.pdfR言語勉強会#8.pdf
R言語勉強会#8.pdf
 
R言語勉強会#7.pdf
R言語勉強会#7.pdfR言語勉強会#7.pdf
R言語勉強会#7.pdf
 
R言語勉強会#6.pdf
R言語勉強会#6.pdfR言語勉強会#6.pdf
R言語勉強会#6.pdf
 
R言語勉強会#5.pdf
R言語勉強会#5.pdfR言語勉強会#5.pdf
R言語勉強会#5.pdf
 
R言語勉強会#4.pdf
R言語勉強会#4.pdfR言語勉強会#4.pdf
R言語勉強会#4.pdf
 
R言語勉強会#3.pdf
R言語勉強会#3.pdfR言語勉強会#3.pdf
R言語勉強会#3.pdf
 
R言語勉強会#2.pdf
R言語勉強会#2.pdfR言語勉強会#2.pdf
R言語勉強会#2.pdf
 

R言語勉強会#1.pdf