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
470
R言語の環境構築と基礎 Tokyo.R 112
第112回Tokyo.R 初心者セッション。
bob3bob3
April 20, 2024
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
RでPSM分析
bob3bob3
1
190
Rでコンジョイント分析 2024年版
bob3bob3
0
750
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
680
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
410
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
500
qeMLパッケージの紹介
bob3bob3
0
1.6k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
480
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
600
Redditで遊ぼう #TokyoR 106
bob3bob3
0
650
Other Decks in Programming
See All in Programming
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
RubyLSPのマルチバイト文字対応
notfounds
0
120
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.5k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.1k
みんなでプロポーザルを書いてみた
yuriko1211
0
260
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Faster Mobile Websites
deanohume
305
30k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Navigating Team Friction
lara
183
14k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Facilitating Awesome Meetings
lara
50
6.1k
Scaling GitHub
holman
458
140k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Rails Girls Zürich Keynote
gr2m
94
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
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 で質問するのが良 いと思います。 もちろん完全にオープンな場なので情報流出にはご注意を……