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
480
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
200
Rでコンジョイント分析 2024年版
bob3bob3
0
890
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
740
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
430
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
510
qeMLパッケージの紹介
bob3bob3
0
1.7k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
500
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
620
Redditで遊ぼう #TokyoR 106
bob3bob3
0
670
Other Decks in Programming
See All in Programming
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
300
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
2
460
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
42 best practices for Symfony, a decade later
tucksaun
1
180
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
920
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
130
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
170
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
YesSQL, Process and Tooling at Scale
rocio
169
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Optimizing for Happiness
mojombo
376
70k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Music & Morning Musume
bryan
46
6.2k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
How GitHub (no longer) Works
holman
311
140k
Why Our Code Smells
bkeepers
PRO
335
57k
Making Projects Easy
brettharned
116
5.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
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 で質問するのが良 いと思います。 もちろん完全にオープンな場なので情報流出にはご注意を……