(Press ?
for help, n
and p
for next and previous slide)
村田 昇
2020.04.17
例えば,コンソール上で終了を指示する以下のコマンドを入力すれば R を終了させることができる
q()
R終了前に以下のメッセージが表示される場合がある
q()
Save workspace image? [y/n/c]:
コンソール上での計算例
1*2+3^2
[1] 11
sin(pi/4) + log(10)
[1] 3.009692
以下の計算を行うRsciptを作成し保存してみよう
関数の呼び出し方
f(arg1=value1, arg2=value2) # arg1, arg2 は引数の名前,value1, value2 は引数に渡す値を表す f(value1, value2) # 上と同値
正弦関数の計算
sin(x = pi/2) sin(pi/2) # 上と同値
対数関数の計算 (xやbに適当な数値を代入せよ)
log(x, b) # 底をbとする対数 log(x=x, base=b) #上と同値 log(base=b, x=x) #上と同値 log(b,x) # = log(x=b,base=x) log(x) # 自然対数 =log(x,base=exp(1))
代入操作
(foo <- 3) # 数値を変数 foo に代入 bar <- sin(2/3*pi) + cos(foo * pi/4) # 計算結果を代入 print(bar) # 変数の内容を表示
[1] 3 [1] 0.1589186
help()
(使い方や例の表示)example()
(例を実際に実行してくれる)help.search()
(キーワード検索)
ヘルプの使い方
(ヘルプは右下のペインに表示される)
help(log) # 関数logのヘルプ ?log # 上と同値 example(log) # ヘルプ内の例を実行 help.search("log") # "log"に関連する項目は? ??"log" # 上と同値
講義で用いるパッケージを導入して, その中の関数について調べてみよう
下記は代表的なもので,これ以外にもある
スカラー値として扱われるものには
TRUE
, FALSE
)などが含まれる
数値や文字列の要素からなるベクトルの生成:
c(1,-2,3,-4,5) # 数値のベクトル c("Alice","Bob","Cathy","David") # 文字列のベクトル
[1] 1 -2 3 -4 5 [1] "Alice" "Bob" "Cathy" "David"
ベクトルの要素の取得:
x[i] # xの第i要素 (ベクトルの添え字は1から始まる) x[c(1,3,4)] # 複数の要素 # = c(x[1],x[3],x[4])
ベクトル x
の長さの取得:
length(x)
実数 x
から y
まで
1ずつ変化するベクトル:
x:y # x < y の場合は1ずつ増加,逆の場合は1ずつ減少
実数 x
から y
まで
a
ずつ変化するベクトル:
seq(x,y,by=a) # from=x,to=y と明示してもよい
ベクトル x
を n
回繰り返したベクトル:
rep(x,n) # 長さは length(x) * n となる
ベクトル x
とベクトル y
の結合:
c(x,y)
ベクトル x
の反転:
rev(x)
ベクトルの操作に慣れよう
すべての要素が a
である \(m\times n\) 行列:
matrix(a,m,n)
長さ \(mn\) のベクトル x
を \(m\times n\) 行列に変換:
x <- c(x11,...,xm1,x12,...,xm2,...,x1n,...,xmn)
matrix(x,m,n)
関数 as.vector()
を用いたベクトル化:
x <- as.vector(matrix(x,m,n))
行列のサイズの取得:
dim(X) # 長さ2のベクトル nrow(X) # 行数 ncol(X) # 列数
行列の成分の取得:
X[i,j] # (i,j)成分 X[i, ] # 第i行 X[ ,j] # 第j列 X[c(1,3),2:4] # 1,3行と,2〜4列からなる部分行列
長さが等しい複数のベクトルの結合:
rbind(x, y, ...) # 行ベクトルとして結合 cbind(x, y, ...) # 列ベクトルとして結合
cbind()/rbind()
は行数/列数が等しい行列を横/縦に結合できるrownames()/colnames()
を用いると行と列に名前を付けることができる行列の操作に慣れよう
以下に示す行列を作成してみよう
リストの生成:
L <- list(x,y) # x,yを要素とするリスト L[[i]] # リストの第i要素
リストの各要素に名前を付与:
L1 <- list(first=x, second=y) # 方法1 L2 <- list(x,y) # 方法2 names(L2) <- c("first","second")
名前によるリストの要素の取得:
L1$first # 方法1 L2[["first"]] # 方法2
データフレームの生成:
data.frame(A=x,B=y,C=z) # x,y,zは同じ長さ,各列はA,B,Cという名前
データフレームの操作に慣れよう
次の表に対応するデータフレームを作成してみよう
国語 | 数学 | 英語 | |
---|---|---|---|
Alice | 90 | 25 | 65 |
Bob | 80 | 50 | 100 |
Cathy | 70 | 75 | 70 |
David | 60 | 100 | 40 |