オブジェクト - Rの構成要素

SAS ユーザーのための R

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

オブジェクトはRの構成要素

  • Rではすべてがオブジェクト
  • 単一の値(スカラー)
  • ベクトル
  • 行列
  • データセット
  • 関数の出力

オブジェクト abc 構成要素

SAS ユーザーのための R

単一要素を操作する

  • オブジェクト x を作成
  • x に値4を代入
  • x の内容を確認
  • [1] は x が1要素であることを示す
  • y を x の2乗として作成
  • y と入力して結果を確認
x <- 4
x
[1] 4
y <- x * x
y
[1] 16
SAS ユーザーのための R

その他の要素の型

  • 文字列 "fish" を y に代入
  • 論理値 FALSE を z に代入
  • y と z を確認
y <- "fish"
z <- FALSE
y
z
[1] "fish"

[1] FALSE
SAS ユーザーのための R

単一要素をベクトルに結合する

# Combine three numbers
c(5, 3, 2)

3つの数値 5 3 2

SAS ユーザーのための R

単一要素をベクトルに結合する

# Assign numeric vector to x
x <- c(5, 3, 2)

# View result
x

結果

[1] 5 3 2

5 3 2を列ベクトルに結合

SAS ユーザーのための R

文字要素のベクトルを作成する

# Add word child into character vector
y <- c("child")

3つの文字列 child を結合

SAS ユーザーのための R

文字要素のベクトルを作成する

# Add second word young
y <- c("child", "young")

young

SAS ユーザーのための R

文字要素のベクトルを作成する

# Add third word old
y <- c("child", "young", "old")

# View y
y

結果

[1] "child" "young" "old"

old

SAS ユーザーのための R

論理要素のベクトルを作成する

# Add TRUE into logical vector
z <- c(TRUE)
  • 最初の要素は TRUE
  • ダブルクォート不要
  • 論理要素は TRUE または FALSE
  • すべて大文字 を使用すること
  • T や F も使用可能

3つの論理値 true 大文字 を結合

SAS ユーザーのための R

論理要素のベクトルを作成する

# Add FALSE as second element
z <- c(TRUE, FALSE)

false 大文字

SAS ユーザーのための R

論理要素のベクトルを作成する

# Add third element TRUE
z <- c(TRUE, FALSE, TRUE)

# View z
z

結果

[1]  TRUE FALSE TRUE

true 大文字

SAS ユーザーのための R

ベクトルから行列を作成する

#  Create numeric vector a
a <- c(5.0, 3.1, 2.4)
  • 行列はベクトルから作成
  • ベクトルは同じ型・長さが必要

最初のベクトル 5.0 3.1 2.4

SAS ユーザーのための R

ベクトルから行列を作成する

#  Create numeric vector a
a <- c(5.0, 3.1, 2.4)

#  Create numeric vector b
b <- c(4.1, 2.2, 5.4)

2番目のベクトル 4.1 2.2 5.4

SAS ユーザーのための R

ベクトルから行列を作成する

# Make m from a,b with 3 rows 2 columns
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)

# View m
m
          [,1] [,2]
     [1,]  5.0  4.1
     [2,]  3.1  2.2
     [3,]  2.4  5.4

ベクトルを3行2列の行列に結合

SAS ユーザーのための R

ベクトルからデータフレームを作成する

# Create numeric variable score
score <- c(5.0, 3.1, 2.4)

# View score
score
     5.0 3.1 2.4
  • データフレームはベクトルから作成
  • ベクトルは同じ長さが必要
  • ベクトルの型は異なっていてもよい

数値ベクトル 5.0 3.1 2.4

SAS ユーザーのための R

ベクトルからデータフレームを作成する

# Create character variable age
age <- c("child","young","old")

# View age
age
     "child" "young" "old"

文字ベクトル child young old

SAS ユーザーのための R

ベクトルからデータフレームを作成する

# Create logical variable test
test <- c(TRUE, FALSE, TRUE)

# View test
test
     TRUE FALSE TRUE

論理ベクトル true false true

SAS ユーザーのための R

ベクトルからデータフレームを作成する

# Combine to create data frame
d <- data.frame(score, age, test)

# View data frame
d
     score   age  test
       5.0 child  TRUE
       3.1 young FALSE
       2.4   old  TRUE

3つのベクトルをデータフレームに結合

SAS ユーザーのための R

オブジェクトの型を確認する

  • 数値ベクトル x を作成
  • x の class を確認
  • x の構造 str を確認
x <- c(5, 3, 2)
class(x)
 [1] "numeric"
str(x)
 num [1:3] 5 3 2
SAS ユーザーのための R

オブジェクトの型を確認する

  • 文字ベクトル y;論理ベクトル z
  • y と z の class を確認
  • y と z の構造 str を確認
str(y)
 chr [1:3] "child" "young" "old"
str(z)
 logi [1:3] TRUE FALSE TRUE
y <- c("child","young","old")
z <- c(TRUE, FALSE, TRUE)
class(y)
 [1] "character"
class(z)
 [1] "logical"
SAS ユーザーのための R

オブジェクトの型を確認する

  • 行列 m を作成
  • m の class を取得
  • m の構造 str を確認
str(m)
 num [1:3, 1:2] 5 3.1 2.4 4.1 2.2 5.4
a <- c(5.0, 3.1, 2.4)
b <- c(4.1, 2.2, 5.4)
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)
class(m)
 [1] "matrix"
SAS ユーザーのための R

オブジェクトの型を確認する

  • data.frame d を作成
  • d の class を取得
  • d の構造 str を確認
str(d)
'data.frame':    3 obs. of 3 variables:
 $ score: num  5 3.1 2.4
 $ age  : Factor w/ 3 levels
         "child","old",..: 1 3 2
 $ test : logi  TRUE FALSE TRUE
score <- c(5.0, 3.1, 2.4)
age <- c("child","young","old")
test <- c(TRUE, FALSE, TRUE)
d <- data.frame(score, age, test)
class(d)
 [1] "data.frame"
1 3つのageカテゴリに対して、Factorクラス型が自動的に作成されました。
SAS ユーザーのための R

Rでデータオブジェクトを作成・操作しましょう

SAS ユーザーのための R

Preparing Video For Download...