Rの文法

Rの記法について紹介


代入

オブジェクトに値を代入するには、<-または= を使う.

# xに10を代入
x <- 10 

# yに20を代入
y = 20 

# xとyを足した値をzに代入
z <- x+y 

オブジェクトからの値の取り出し方

オブジェクトからの値の取り出しかたには、オブジェクトのクラスによって異なる.

  • スカラー(ベクトルの長さが1のもの)のオブジェクトの場合、x自体が値を持つ.
x <- 10
x
  • ベクトルのオブジェクトの場合、x[1]のように、カギ括弧内で取り出したい位置(インデックス)を指定して取り出す.
x <- c(1, 2, 3, 4, 5) #ベクトルを作成
x[1] # 1番目の要素を取り出す
x[2] # 2番目の要素を取り出す
x[3] # 3番目の要素を取り出す
  • ベクトルに名前がついている時は、x[名前]と指定して値を取り出すことも可能.
names(x) <- c("a", "b", "c", "d", "e") # ベクトルに名前をつける
x["a"] # 名前がaの要素を取り出す
  • 行列・データフレームのオブジェクトの場合、x[1, 1]のように、カギ括弧内で取り出したい位置(インデックス)を指定して取り出す.
    カギ括弧内の前の数字は行のインデックス、後ろの数字は列のインデックスを表す.
x <- matrix(1:9, nrow=3, ncol=3) # 3x3の行列を作成
x[1, 1] # 1行1列目の要素を取り出す
x[1, 2] # 1行2列目の要素を取り出す
x[2, 3] # 2行3列目の要素を取り出す
x[1, ] # 1行目の全ての要素を取り出す
x[ , 2] # 2列目の全ての要素を取り出す
y <- data.frame(x=1:3, y=4:6) # データフレームを作成
y[1, 1] # 1行1列目の要素を取り出す
y[1, 2] # 1行2列目の要素を取り出す
y[1, ] # 1行目の全ての要素を取り出す
y[ , 2] # 2列目の全ての要素を取り出す
  • 行名、列名がついている場合は、x[“行名”, “列名”]と指定して値を取り出すことも可能.
rownames(x) <- c('A', 'B', 'C')
colnames(x) <- c('D', 'E', 'F')
x['A', 'D']  # 1行1列目の要素を取り出す