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言語の環境構築と基礎 Tokyo.R 112
Search
bob3bob3
April 20, 2024
Programming
0
290
R言語の環境構築と基礎 Tokyo.R 112
第112回Tokyo.R 初心者セッション。
bob3bob3
April 20, 2024
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
310
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
370
qeMLパッケージの紹介
bob3bob3
0
990
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
340
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
440
Redditで遊ぼう #TokyoR 106
bob3bob3
0
540
シン・初心者のためのR-Tips
bob3bob3
0
360
応用セッション発表のすすめ
bob3bob3
0
700
LT発表のすすめ
bob3bob3
0
540
Other Decks in Programming
See All in Programming
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
1.1k
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
210
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
580
Folding Cheat Sheet #4
philipschwarz
PRO
0
110
AmperとFleetを使ったAndroidアプリ
yoppie
0
290
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.3k
Fragment Composition of GraphQL
quramy
13
1.6k
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4.1k
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
480
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
340
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
430
パフォーマンスを求めてDBに機能を寄せる戦略
aoyagikouhei
0
120
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
43
6.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Designing for Performance
lara
601
67k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Into the Great Unknown - MozCon
thekraken
15
1k
Transcript
Rの環境構築と R言語の基礎 Tokyo.R #112 2024年4月20日 @bob3bob3
目次 • RとRStudioのインストール • RStudioの基礎 • R言語の基礎 ◦ コマンドの実行 ◦
四則演算 ◦ 代入演算子 ◦ データの型 ◦ ベクトル ◦ データフレーム ◦ パッケージのインストールと呼び出し ◦ 外部ファイルの読み込み • r-wakalang
想定初心者 • 興味はあるがまだRをさわったことがない。 • Rをインストールしたがどうやって使うものか分からない。 • 厳密に言うと正確ではない記述が出てきますが、ベテラン勢にはお目こぼしいただ きたい。理解しやすさを優先しています。 • Windows前提で書いています。Macもこれに準じた形で大丈夫なはずです。
R
RStudio
RStudio エディター コンソール ファイラー、 グラフ出力、 パッケージ一覧、 ヘルプ etc. オブジェクト一覧 etc.
R(base)インストール 1. 公式サイト(CRAN)からインストール用の実行ファイルをダウンロード。 a. Windows: https://cran.ism.ac.jp/bin/windows/base/ b. Mac: https://cran.ism.ac.jp/bin/macosx/ 2.
ダウンロードしたファイルを実行。 a. 基本的にはデフォルトの設定で「次へ」を押して進めれば OK。 3. インストール後 a. 「マイドキュメント」の中などに Rの作業用フォルダを作成しておくと便利。 ここ!
RStudioインストール 1. RStudio はRのIDE (統合開発環境、Integrated Development Environment)。便利 な機能が満載。 2. 公式サイトからインストール用ファイルをダウンロード。
a. https://posit.co/download/rstudio-desktop/#download 3. そのまま実行して素直に進めれば完了。 Windowsはここ! Macはここ!
R言語の準備 1. まず、RStudioを立ち上げます。 2. 次にプロジェクトを作ります。プロジェクトは分析をフォルダごとに管理する仕組みで す。実務では、分析対象タイトルごと、あるいは分析対象イベントごとなどでプロジェ クトを管理すると便利です。メニューバーの以下のアイコンをクリックします。
4. New Project を選択します。 R言語の準備 3. New Directory を選択します。
R言語の準備 5. ディレクトリ名を付けます。 Create Project を クリックすればプロジェクトの出来上がりで す。 6. RStudioの右上にプロジェクト名が表示され
ていることを確認してください。ここでプロジェ クトを切り替えます。
R言語の準備 7. 新しいRのファイルを作成します。メニューの 左端のアイコンからR Scriptを選びます。こ れで準備完了です。 8. 左上のエディター部分に Rのコマンドを入力 して実行します。
1 + 1と入力して Ctrl + Enter (Macは Command + Enter)を押すとその行が実行されます。 実行結果は下の Console に表示されます。 このようにしてRと対話してゆきます。
関数とパイプ演算子 Rに何かをさせる場合、関数を使います。 例えば平方根の計算をさせるには sqrtという関数 を使います。Excelの関数と同様に後のカッコ内に 処理したい値を入れます。 エディターにsqrt(4)と入力し、Ctrl + Enter (Mac
は Command + Enter)を押して実行してみましょ う。 コンソールに 2 と表示されるはずです。 また、以下のような書き方でも同じことが実行でき ます。 4 |> sqrt() この「|>」は右向きの矢印を模しています。「 %>%」 が使われる場合もあります。これはパイプ演算子と 呼ばれ、左の値を右の関数に与えるという意味に なります。1つの値を複数の関数で連続して処理す る場合に便利です。 なお、?関数名 を実行すると関数のヘルプが表示 されます。試しに ?sqrt を実行してみましょう。関 数を選択してF1キーを押してもOKです。
オブジェクトと付値 x <- 1 y <- 2 x + y
このコマンドを実行すると 3 と返っています。 ここでの x や y はオブジェクトと呼ばれるデータや 処理の容れ物。 <- でオブジェクトにデータや処理を入れることが できます。左向きの矢印を模しています。 x <- c(1, 2, 3, 4) y <- c(4, 3, 2, 1) x + y このコマンドを実行すると 5 5 5 5 と返ってきま す。 c() はベクトルと呼ばれる 1次元のデータを作る関 数。 ベクトルは文字、数字などといった型を持ち、異な る型のデータを同じベクトルの中に混在させること はできない。
データフレーム ベクトルを束ねたものが データフレーム。Rでもっ ともよく使うデータの形式です。 データフレームは data.frame関数で作ります。以 下のコマンドを実行してみましょう。 df <- data.frame(
ID = 1:6, Q1 = c(1, 3, 3, 3, 4, 5), Q2 = c(2, 2, 3, 3, 5, 5), Q3 = c("みかん", "りんご", "みかん", "り んご", "みかん", "りんご") ) RStudioの右上にこの表な表示が出ます。 Rが保 持しているオブジェクトを示すエリアです。右の格 子のアイコンをクリックするとこのように内容が表 示されます。
パッケージのインストールと呼び出し RはR本体(base)から、パッケージと呼ばれる外 部のプログラムを呼び出すことで多彩な手法を使 うことができます。 パッケージは1度インストールすれば、あとは使うと きに呼び出すだけで OKです。 パッケージのインストール RStudioの右下の Packagesタブから行えます。
ここではデータ操作のためのパッケージ tidyverse をインストールしてみます。 RStudioの右下の枠で「Packages」タブを開き、 Installアイコンをクリック。 Packages欄に「tidyverse」と入力しInstallをクリッ ク。インストールが完了するまで少し時間がかかり ます。 インストールしたパッケージを実際に利用するに は、library関数で呼び出しておく必要があります。 library(tidyverse)
外部データの読み込み 分析したいデータは外部のファイルとして存在する ことが多いと思います。 Rで取り込めるデータは csv か tsv(タブ区切り)が 無難ですが、エクセル( xls、xlsx)なども取り込み可 能です。
また、ネット上にあるファイルや Googleドライブ、各 種データベースからの取り込みも可能です。 ここではよく使われる csv形式のファイルの取り込 み方を紹介します。 まず作業中のディレクトリを確認しましょう。 getwd 関数で現在のディレクトリを確認できます。 プロジェクトを作成したフォルダになっているはず です。このフォルダに分析したいデータの入った csvファイルを置きます。
外部データの読み込み ここでは penguins.csv というファイルを読み込 むことにします。 今回はtidyverseパッケージに入っている read_csv関数を使います。 library(tidyverse) pen <-
read_csv("penguins.csv") これでオブジェクトpenにpenguins.csvのデータ がデータフレーム形式で格納されました。 取り込まれたデータを確認しましょう。 右上のEnvironmentタブにpenが増えているのでこ こで確認できます。 またglimpse(pen)としても内容の確認ができます。 ここまでがR言語の基礎の基礎です。 続けてデータハンドリング、可視化とがんばってく ださい!
RユーザーSlack 日本のRユーザーが集まっているSlackが「r-wakalang」です。 こちら↓から参加してください。参加時にメールアドレスの登録を求められます。 https://github.com/TokyoR/r-wakalang いくかチャンネルがありますが特に初心者対象の #r_beginners で質問するのが良 いと思います。 もちろん完全にオープンな場なので情報流出にはご注意を……