Submit Search
R language definition3.1_3.2
2 likes
•
910 views
Yoshiteru Kamiyama
1 of 37
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
More Related Content
Viewers also liked
(15)
PDF
Itroroduction to R language
chhabria-nitesh
PPTX
R programming language
Alberto Minetti
PPTX
R programming Language , Rahul Singh
Ravi Basil
PDF
Minetti master thesis
Alberto Minetti
ODP
Introduction to the language R
fbenault
PPTX
R programming language - Mustafa Wahedi
UNICORNS IN TECH
PDF
R Programming Overview
dlamb3244
PDF
R programming language: conceptual overview
Maxim Litvak
PDF
Data Analysis and Programming in R
Eshwar Sai
PPTX
A Workshop on R
Ajay Ohri
PPTX
R language tutorial
David Chiu
PPTX
An Interactive Introduction To R (Programming Language For Statistics)
Dataspora
PDF
R programming Basic & Advanced
Sohom Ghosh
PPTX
Chapter 6: Computing on the language (R Language Definition)
Nagi Teramo
PDF
SEO: Getting Personal
Kirsty Hulse
Itroroduction to R language
chhabria-nitesh
R programming language
Alberto Minetti
R programming Language , Rahul Singh
Ravi Basil
Minetti master thesis
Alberto Minetti
Introduction to the language R
fbenault
R programming language - Mustafa Wahedi
UNICORNS IN TECH
R Programming Overview
dlamb3244
R programming language: conceptual overview
Maxim Litvak
Data Analysis and Programming in R
Eshwar Sai
A Workshop on R
Ajay Ohri
R language tutorial
David Chiu
An Interactive Introduction To R (Programming Language For Statistics)
Dataspora
R programming Basic & Advanced
Sohom Ghosh
Chapter 6: Computing on the language (R Language Definition)
Nagi Teramo
SEO: Getting Personal
Kirsty Hulse
Similar to R language definition3.1_3.2
(20)
PDF
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
PPT
R intro
yayamamo @ DBCLS Kashiwanoha
PPT
K010 appstat201201
t2tarumi
DOCX
Ⅰ. Rの基礎 2017
wada, kazumi
PDF
第1回R勉強会@東京
Yohei Sato
PDF
Rあんなときこんなとき(tokyo r#12)
Shintaro Fukushima
PDF
数式をnumpyに落としこむコツ
Shuyo Nakatani
PDF
Nagoya.R #12 入門者講習
Yusaku Kawaguchi
PDF
初心者講習会資料(Osaka.R#5)
Masahiro Hayashi
PPTX
Tokyo r33 beginner
Takashi Minoda
PDF
初心者講習会資料(Osaka.r#6)
Masahiro Hayashi
PDF
Tokyor23 doradora09
Nobuaki Oshiro
PDF
初心者講習会資料(Osaka.R#7)
Masahiro Hayashi
PDF
統計ソフトRの使い方_2015.04.17
hicky1225
PDF
Rプログラミング01 「はじめの一歩」 演習デモ
wada, kazumi
PPTX
mathemaical_notation
Kenta Oono
PDF
SappoRo.R #2 初心者向けWS資料
考司 小杉
PDF
Math tutorial public
Kenta Oono
PDF
テーマ別勉強会(R言語)#1.pdf
Takuya Kubo
PDF
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
Koichi Hamada
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
R intro
yayamamo @ DBCLS Kashiwanoha
K010 appstat201201
t2tarumi
Ⅰ. Rの基礎 2017
wada, kazumi
第1回R勉強会@東京
Yohei Sato
Rあんなときこんなとき(tokyo r#12)
Shintaro Fukushima
数式をnumpyに落としこむコツ
Shuyo Nakatani
Nagoya.R #12 入門者講習
Yusaku Kawaguchi
初心者講習会資料(Osaka.R#5)
Masahiro Hayashi
Tokyo r33 beginner
Takashi Minoda
初心者講習会資料(Osaka.r#6)
Masahiro Hayashi
Tokyor23 doradora09
Nobuaki Oshiro
初心者講習会資料(Osaka.R#7)
Masahiro Hayashi
統計ソフトRの使い方_2015.04.17
hicky1225
Rプログラミング01 「はじめの一歩」 演習デモ
wada, kazumi
mathemaical_notation
Kenta Oono
SappoRo.R #2 初心者向けWS資料
考司 小杉
Math tutorial public
Kenta Oono
テーマ別勉強会(R言語)#1.pdf
Takuya Kubo
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
Koichi Hamada
Ad
More from Yoshiteru Kamiyama
(7)
PPT
オイラーの公式で感じる次元の呪い
Yoshiteru Kamiyama
PDF
Tokyo.rの輪
Yoshiteru Kamiyama
PDF
Listを串刺し
Yoshiteru Kamiyama
PDF
rで踊るパスタ
Yoshiteru Kamiyama
PDF
Rでマンデルブロ集合
Yoshiteru Kamiyama
PPT
黄金比.再帰
Yoshiteru Kamiyama
PPT
医療費ts
Yoshiteru Kamiyama
オイラーの公式で感じる次元の呪い
Yoshiteru Kamiyama
Tokyo.rの輪
Yoshiteru Kamiyama
Listを串刺し
Yoshiteru Kamiyama
rで踊るパスタ
Yoshiteru Kamiyama
Rでマンデルブロ集合
Yoshiteru Kamiyama
黄金比.再帰
Yoshiteru Kamiyama
医療費ts
Yoshiteru Kamiyama
Ad
R language definition3.1_3.2
1.
R Language Definition 3 Evaluation of expressions
3.1〜3.2 Version 2.15.0 (2012‐03‐30) DRAFT ほとんど和訳version1.1.0 (2000‐June 15)DRAFT Tokyo.Lang.R#2 2012‐June 2 @manazo 1
2.
3 Evaluation of expressions (すべての表現式は値を持つ) •
ユーザーは表現式を構築し、それに対し評価 機構を起動する • 3.1 Simple evaluation(単純な評価) • 3.2 Control structures(制御構造) 2
3.
3.1 Simple evaluation
(単純な評価) • 3.1.1 Constants(定数) • 3.1.2 Symbol lookup(シンボルlookup) • 3.1.3 Function calls(関数呼び出し) • 3.1.4 Operators(演算⼦) 3
4.
3.1.1 Constants > 1
> str(0x10L) [1] 1 int 16 >str(1) > 1e3L num [1] 1000 > 1L > 1‐e3L [1] 1 エラー: オブジェクト > str(1L) 'e3L' がありません int 4
5.
3.1.2 Symbol lookup • 名前がないと何も呼べない • 名前それ⾃体がシンボル •
シンボルもRのオブジェクト – ⾔語⾃体のプログラミングを除く > y<‐4 > y [1] 4 5
6.
3.1.3 Function calls • 関数はコンマで区切られた引数のリストをも
つ名前で起動 – mean(1:10) • 関数呼び出しはタグ付き引数を持つことがで きる – plot(x, y, pch = 3) • タグの利⽤はたくさんのオプション引数を持 つ関数に対し明⽩な便宜をもたらす – 順番を覚えておかなくてもよい 6
7.
3.1.4 Operators • RではC⾔語と類似した演算⼦を⽤いた数値
表現の使⽤が可能 > 1 + 2 [1] 3 • 演算⼦の呼び出しと関数呼び出しに差はない > a<‐1;x<‐5 > y <‐ 2 * (a + log(x)) > '<‐'(y,'*'(2,'+'(a,log(x)))) > y > y [1] 5.218876 [1] 5.218876 #演算⼦はクォートする 7
8.
> x <‐ rnorm(5)
続き > x [1] ‐0.3106407 ‐0.1164581 ‐0.1114981 ‐0.3776523 0.2587829 > x[2] [1] ‐0.1164581 > x<‐options() > class(x) [1] "list" > x$prompt [1] "> " > '$'(x,prompt) #関数っぽく [1] "> " 8
9.
-,+ • 差、単項演算⼦としても⼆項演算⼦としても • 和、同 > ‐1 #単項演算⼦の例
[1] ‐1 > 1:5‐1 #ベクトルに対しても可 [1] 0 1 2 3 4 9
10.
! • 単項演算⼦、否定 >!TRUE [1] FALSE > !0:3 #ベクトルに対しても可 [1] TRUE FALSE FALSE FALSE
10
11.
~ • チルダ、モデル式、単項演算⼦、⼆項演算⼦ > lm(dist~speed,data=cars) Call: lm(formula = dist ~ speed, data = cars) Coefficients: (Intercept) speed
‐17.579 3.932 11
12.
? • help >?"?" #演算⼦等はクォートする Question package:utils R Documentation Documentation Shortcuts Description:
These functions provide access to documentation. Documentation on a topic with name 'name' (typically, an R object or a data set) can be displayed by either 'help("name")' or '?name'. 12
13.
: • 数列 ⼆項演算⼦ > 1:5 [1]1 2 3 4 5 • モデル式においては交互作⽤ >
glm(Sepal.Length~Sepal.Width:Petal.L ength,data=iris) 13
14.
*,/ • 乗除 ⼆項演算⼦ > 2 * 3 [1] 6 > x<‐matrix(1:9,3) > x*x #⾏列の積ではない
[,1] [,2] [,3] [1,] 1 16 49 [2,] 4 25 64 [3,] 9 36 81 14
15.
^ • 累乗
> 10^(1:3) > 5^2 [1] 10 100 1000 [1] 25 > log10(10^(1:3)) > x^2 [1] 1 2 3 [,1] [,2] [,3] > (1:3)^10 [1,] 1 16 49 [1] 1 1024 59049 [2,] 4 25 64 [3,] 9 36 81 > (1:3)^(1:3) [1] 1 4 27 15
16.
%x% • スペシャル⼆項演算⼦ –
x can be replaced by any valied name 16
17.
%% • 剰余(余り) > 5 %% 2 [1] 1
17
18.
%/% • 整数除算(Integer divide)商 > 5 %/% 2 [1] 2
18
19.
%*% • ⾏列の積
> a<‐matrix(c(2,‐3,‐1,4),2) > b<‐matrix(c(1,2),2) > a > b [,1] [,2] [,1] [1,] 2 ‐1 [1,] 1 [2,] ‐3 4 [2,] 2 > a %*% b [,1] [1,] 0 [2,] 5 19
20.
arabikiさんから
`%o%` #バッククォートすると中⾝は⾒える %o% • 外積(outer product) > 1:9 %o% 1:9 # outer(1:9,1:9) [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] 1 2 3 4 5 6 7 8 9 [2,] 2 4 6 8 10 12 14 16 18 [3,] 3 6 9 12 15 18 21 24 27 [4,] 4 8 12 16 20 24 28 32 36 [5,] 5 10 15 20 25 30 35 40 45 [6,] 6 12 18 24 30 36 42 48 54 [7,] 7 14 21 28 35 42 49 56 63 [8,] 8 16 24 32 40 48 56 64 72 [9,] 9 18 27 36 45 54 63 72 81 20
21.
%x% • クロネッカー積 > x%x%x # x<‐matrix(1:9,3)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] 1 4 7 4 16 28 7 28 49 1 4 7 [2,] 2 5 8 8 20 32 14 35 56 [3,] 3 6 9 12 24 36 21 42 63 [4,] 2 8 14 5 20 35 8 32 56 2 5 8 [5,] 4 10 16 10 25 40 16 40 64 [6,] 6 12 18 15 30 45 24 48 72 [7,] 3 12 21 6 24 42 9 36 63 3 6 9 [8,] 6 15 24 12 30 48 18 45 72 21 [9,] 9 18 27 18 36 54 27 54 81
22.
%in% • 含まれる > 2 %in% 1:10 [1] TRUE > "Species" %in%
names(iris) [1] TRUE 22
23.
<,>,==,>=,<= • ⼤⼩の⽐較 > 4 > 2 [1] TRUE
23
24.
&, &&, |, || •&
ベクトルの論理積 > a<‐1:4; a[a>1 & a<4] #=> 2 3 • && > a>1 [1] FALSE TRUE TRUE TRUE ふつうの論理積 > a>4 [1] FALSE FALSE FALSE FALSE •| #| FALSE TRUE TRUE TRUE ベクトルの論理和 1 2 3 4 > a<‐1:4; a[a>1 | a>4] #=> 2 3 4 • || ふつうの論理和 24
25.
<‐, ‐> • 付値(代⼊? 割り当て?) • <‐
– Left assignment,binary • ‐> – Right assignment, binary 25
26.
$ • List subset, ⼆項演算⼦ >head(iris$Species) [1] setosa setosa setosa setosa setosa setosa Levels: setosa versicolor virginica > str(iris) 'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ... 26
27.
3.2 Control structures • 3.2.1 if • 3.2.2 Looping •
3.2.3 repeat • 3.2.4 while • 3.2.5 for • 3.2.6 switch 27
28.
3.2.1 if > x <‐ 0:3 > if(any(x<=0))y<‐log(1+x)else y<‐log(x)
#xの中に0以下のものがあればlog(1+x) > y [1] 0.0000000 0.6931472 1.0986123 1.3862944 > log(0) [1] ‐Inf #これをさけるために1を⾜す • 代⼊(付値)可 > y <‐ if(any(x <= 0))log(1+x) else log(x) 28
29.
3.2.2 Looping • Rの繰り返しは3つfor, while, repeat • 評価された最後の⽂の値を返す •
⽂の値をシンボルに付値することが可 • 暗黙の繰り返し – tapply, apply, lapply – ベクトル化された数値は繰り返し(for, while and repeat)を使う必要がないかもしれない – 「あらびき⽇記」Rのapply徹底解説 参照 http://d.hatena.ne.jp/a_bicky/20120425/1335312593 29
30.
3.2.3 repeat • ブロック⽂でなくてはならない > i<‐0 > repeat{if((i<‐i+1)==5) {cat(i,"¥n");break}} 5
30
31.
3.2.4 while > i<‐0 > while(i<5){i<‐i+1;print(i)} [1] 1 #0 [1] 2 #1 [1] 3 #2 [1] 4 #3 [1] 5 #4
31
32.
3.2.5 for for(i in vector) statement1 •
listでもよい x<‐options();for(i in x)print(i) 32
33.
3.2.6 switch > x<‐3 > switch(x,2+2,mean(1:10),rnorm(5)) [1] ‐0.3719517 ‐1.7978237
‐0.3606216 ‐ 0.6411431 ‐0.7713163 > switch(2,2+2,mean(1:10),rnorm(5)) [1] 5.5 > switch(6,2+2,mean(1:10),rnorm(5)) [1] NULL #超えて参照 33
34.
続き > y<‐"果物" > switch(y,果物="バナナ",野菜="ブロッコ リー","どちらも") [1] "バナナ" > y<‐"⾁類" > switch(y,果物="バナナ",野菜="ブロッコ
リー","どちらも") [1]"どちらでも" 34
35.
続き2 ・普通の使⽤法は関数のある引数の⽂字値に応じて分岐 centre <‐ function(x, type){ switch(type,
mean = mean(x), median = median(x), trimmed = mean(x, trim =.1)) } x <‐ rcauchy(10) centre(x,"mean") 35
36.
続き3 • 既存の選択肢のリストから選ぶためには
switchは評価すべき項⽬を選ぶ最良の⽅法 ではないかもしれない。 • eval(x[[cond]])経由でevalと部分集合演 算⼦[[を直接使う⽅が望ましい – 意味がわかりませぬ。 36
37.
ご静聴に感謝します。
37
Download