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
610
R言語の環境構築と基礎 Tokyo.R 112
第112回Tokyo.R 初心者セッション。
bob3bob3
April 20, 2024
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
RとLLMで自然言語処理
bob3bob3
3
730
RでPSM分析
bob3bob3
1
330
Rでコンジョイント分析 2024年版
bob3bob3
0
1.8k
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
1.3k
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
540
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
610
qeMLパッケージの紹介
bob3bob3
0
2.2k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
610
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
780
Other Decks in Programming
See All in Programming
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
110
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
130
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
520
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
15k
モビリティSaaSにおけるデータ利活用の発展
nealle
1
660
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.4k
WebRTC と Rust と8K 60fps
tnoho
1
500
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.7k
AI時代もSEOを頑張っている話
shirahama_x
0
190
OSS開発者の憂鬱
yusukebe
14
12k
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
0
630
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
200
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
How STYLIGHT went responsive
nonsquared
100
5.9k
Producing Creativity
orderedlist
PRO
348
40k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
57
Making the Leap to Tech Lead
cromwellryan
135
9.6k
RailsConf 2023
tenderlove
30
1.3k
Done Done
chrislema
186
16k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
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 で質問するのが良 いと思います。 もちろん完全にオープンな場なので情報流出にはご注意を……