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の基礎 1
Search
xjorv
January 15, 2021
Education
0
160
Rの基礎 1
ICH E9で統計の内容に触れましたので、少し脇道に逸れて統計、の前にRについて説明します。Rを理解することで統計計算をRに肩代わりしてもらうことができます。
xjorv
January 15, 2021
Tweet
Share
More Decks by xjorv
See All by xjorv
コンパートメントモデル
xjorv
0
4.8k
コンパートメントモデルをStanで解く
xjorv
0
360
生物学的同等性試験 検出力の計算法
xjorv
0
3k
生物学的同等性試験ガイドライン 同等性パラメータの計算方法
xjorv
0
5.1k
粉体特性2
xjorv
0
2.2k
粉体特性1
xjorv
0
2.5k
皮膜5
xjorv
0
2.1k
皮膜4
xjorv
0
2k
皮膜3
xjorv
0
2k
Other Decks in Education
See All in Education
Informasi Program Coding Camp 2025 powered by DBS Foundation
codingcamp2025
0
120
脳卒中になってしまった さあ、どうする
japanstrokeassociation
0
1.2k
Carving the Way to Ruby Engineering
koic
3
480
勉強する必要ある?
mineo_matsuya
2
2.5k
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
23k
ニュースメディアにおける生成 AI の活用と開発 / UTokyo Lecture Business Introduction
upura
0
150
Zero to Hero
takesection
0
130
情報処理工学問題集 /infoeng_practices
kfujita
0
160
H5P-työkalut
matleenalaakso
4
36k
LinkedIn
matleenalaakso
0
3.4k
自分にあった読書方法を探索するワークショップ / Reading Catalog Workshop
aki_moon
0
250
BrightonSEO, San Diego, CA 2024
mchowning
0
100
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
460
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Side Projects
sachag
452
42k
YesSQL, Process and Tooling at Scale
rocio
170
14k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
4 Signs Your Business is Dying
shpigford
182
21k
The Language of Interfaces
destraynor
155
24k
Designing for humans not robots
tammielis
250
25k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
It's Worth the Effort
3n
183
28k
Transcript
Rの基礎 2020/8/5 Ver. 1.0
Rとは? • 統計解析向けのプログラミング言語 • CRAN(https://cran.r-project.org/)が開発・維持 • スクリプト言語のひとつ • ライブラリを用いることで、機能を追加できる
なぜR? 統計学専門のプログラミング言語 • 比較的簡単に習得できる(主に対話的に使用) • スポット的解析に向いている(遅くても問題ない) • 比較的古いため、学習材料が多く揃っている ✕ サーバー上で自動的に解析するような場合には向かない
✕ 汎用プログラミング言語よりできることは少ない ✕ プログラミング一本で働きたいなら学ぶべきではない *統計をやりながらプログラミングで働くならPythonを学ぶべき(学習コストはRよりは高め)
スクリプト言語とは? • コンパイラではなく、インタプリタを用いる • 書いたコードを即実行する • 遅い main(void){ print(“Hallo World”);
return 0; } 1010001001010101101 1011010010010011011 1000110101001010000 101110010100100 Hallo World ①コンパイル コード 機械語 実行 • コードを機械語に翻訳すること(①)をコンパイルといい、コンパイルするソフトをコンパイラと呼ぶ。 • コンパイラは機械語ファイルを作成・保存後に実行するが、インタプリタは機械語を直接CPUに渡す。
インストール方法 • 多くのプログラミング言語ではコンパイラ・インタプリタの インストールが必要 • 統合開発環境(IDE)を用いる場合が多い Rのインタプリタ Rの統合開発環境 CRANでダウンロード RStudio
インタプリタのインストール CRANのホームからDownload R for Windows→baseと選択し、 Download R x.x for Windowsをクリックする
最新のバージョンは4.02(20年8月5日)
インタプリタのインストール(2) ダウンロードされたR-x.x-win.exeでインストール *細かい設定を変更できますが、初めは特に気にする必要はありません
Rguiを起動する Rguiというソフトを起動することで、Rを使うことができる
Rstudioのインストール Rguiでもプログラミングできるが、使いにくい Rstudioを利用する Rstudio (https://www.rstudio.com/)
RStudioのインストール(2) Rstudio Desktop Open Source Editionをダウンロードする
RStudioのインストール(3) インストーラを用い、インストールする
RStudioの使い方 ①がテキストエディタ(プログラムを書く部分) ②がコンソール(プログラムの結果が表示される) ③がオブジェクト情報 ④がグラフ ① ② ③ ④ 主に①と②を操作する
コンソールに入力してみる コンソールに直接入力すると、すぐに実行される (対話的プログラミング)
テキストエディタに入力してみる テキストエディタに入力し、Ctrl+Enterを押すと、選択した行 が実行される
Rプログラミングの基礎: データ型 プログラミングで用いるモノ(Object)には型がある • 文字列(Character) • 数字(Numeric) • ロジカル(Logical) •
因子(Factor) • ベクター(Vector) • リスト(List) • 行列(Matrix) • データフレーム(DataFrame)
なぜ型が必要か? 型がないと、計算できないものを計算してしまう 10+“イヌ”+”定規”=?? *数値も文字列も2バイト情報なので実は足し算はできるが、足し算ができてしまうとわけがわからないことが起きてしまう
データ型: 文字列(Character) • 文字は、Characterという型を持つ • 文字はダブルクオーテーション* (“)で挟む *シングルクオーテーション(‘)も文字列を作るために使えるが、出力される記号(“、’、$など)の表記が違ってくる
データ型: 数字(Numeric) • 数字はNumericという型を持つ • ダブルクオーテーションはいらない • 四則演算ができる
データ型: ロジカル(Logical) • Logicalとは、真(True)と偽(False)を示す型のこと • TRUE(T)、FALSE(F)のみが該当する 小文字を混ぜると(True、False) ロジカルとしては認識されなくなる
データ型: 因子(Factor) • Rにしかないデータ型 • 数値にカテゴリ名を振ったもの • 統計解析に使う (まだわからなくても問題ないです)
データの集合: ベクター(Vector) • データの集まり(他言語の配列に当たる) • Rの数値、文字列は基本的にベクター • そのまま演算ができる ベクターは c()
という形で書く *cはcombineの略で、数値・文字列同士を結合させている
データの集合: リスト(list) • いろんな型のデータを集めて、1つにまとめたもの • 連想配列に使えるが、作ることはあまりない リストは list() という形で書く (まだわからなくても問題ないです)
連想配列: DirectoryやHashと呼ばれる。“Dog”→”イヌ”などのように、データとデータを結び付けておくもの
データの集合: 行列(Matrix) • 高校数学などで習う行列そのもの • 内積・連立方程式の計算などができる 行列は matrix(Vector, 行数, 列数)
という形で書く 上はクロネッカー積、下は外積
データの集合: データフレーム(dataframe) • Excelの表のようなもの • Rでデータを扱う時に多用する データフレームは data.frame(列名1=Vector1, 列名2=Vector2) という形で書く
(Vector1と2は同じ長さでないとダメ)
まとめ • Rは統計の言語であり、CRANからダウンロードできる • RStudioを使うことで簡単にプログラミングできる • データには型がある