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
460
R言語の環境構築と基礎 Tokyo.R 112
第112回Tokyo.R 初心者セッション。
bob3bob3
April 20, 2024
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
RでPSM分析
bob3bob3
0
170
Rでコンジョイント分析 2024年版
bob3bob3
0
620
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
610
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
400
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
480
qeMLパッケージの紹介
bob3bob3
0
1.6k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
460
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
580
Redditで遊ぼう #TokyoR 106
bob3bob3
0
640
Other Decks in Programming
See All in Programming
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
190
The future of development – Are our jobs getting harder or easier?
hollycummins
1
240
Kotlinの好きなところ
kobaken0029
0
160
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
200
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
2
1.5k
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
210
Java ジェネリクス入門 2024
nagise
0
480
rtcamp 10 (vk-illuminati)
yumcyawiz
1
220
Re:proS_案内資料
rect
0
250
PagerDuty を軸にした On-Call 構築と運用課題の解決 / PagerDuty Japan Community Meetup 4
horimislime
1
100
RailsのPull requestsのレビューの時に私が考えていること
yahonda
4
1.5k
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
13
3.6k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Docker and Python
trallard
40
3k
Building an army of robots
kneath
302
42k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A designer walks into a library…
pauljervisheath
202
24k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Visualization
eitanlees
143
15k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.8k
The Pragmatic Product Professional
lauravandoore
31
6.3k
How STYLIGHT went responsive
nonsquared
95
5.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 で質問するのが良 いと思います。 もちろん完全にオープンな場なので情報流出にはご注意を……