Đối tượng - khối xây dựng của R

R dành cho người dùng SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Đối tượng là khối xây dựng của R

  • Mọi thứ trong R là một đối tượng
  • Giá trị đơn (vô hướng)
  • Vector
  • Ma trận
  • Tập dữ liệu
  • Kết quả từ hàm

đối tượng abc khối xây dựng

R dành cho người dùng SAS

Làm việc với phần tử đơn

  • Tạo đối tượng x
  • Gán giá trị 4 cho x
  • Xem nội dung của x
  • [1] cho biết x có 1 phần tử
  • Tạo y là bình phương của x
  • Xem kết quả, gõ y
x <- 4
x
[1] 4
y <- x * x
y
[1] 16
R dành cho người dùng SAS

Các loại phần tử khác

  • Gán từ "fish" cho y
  • Gán giá trị logic FALSE cho z
  • Xem yz
y <- "fish"
z <- FALSE
y
z
[1] "fish"

[1] FALSE
R dành cho người dùng SAS

Kết hợp phần tử đơn thành vector

# Kết hợp ba số
c(5, 3, 2)

ba số 5 3 2

R dành cho người dùng SAS

Kết hợp phần tử đơn thành vector

# Gán vector số cho x
x <- c(5, 3, 2)

# Xem kết quả
x

Kết quả

[1] 5 3 2

5 3 2 kết hợp thành vector cột

R dành cho người dùng SAS

Tạo vector ký tự

# Thêm từ child vào vector ký tự
y <- c("child")

kết hợp ba từ child

R dành cho người dùng SAS

Tạo vector ký tự

# Thêm từ thứ hai young
y <- c("child", "young")

young

R dành cho người dùng SAS

Tạo vector ký tự

# Thêm từ thứ ba old
y <- c("child", "young", "old")

# Xem y
y

Kết quả

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

old

R dành cho người dùng SAS

Tạo vector logic

# Thêm TRUE vào vector logic
z <- c(TRUE)
  • Phần tử đầu là TRUE
  • Không cần dấu ngoặc kép
  • Phần tử logic là TRUE hoặc FALSE
  • Phải dùng ALL CAPS
  • Có thể dùng TF

kết hợp ba giá trị logic true viết hoa

R dành cho người dùng SAS

Tạo vector logic

# Thêm FALSE làm phần tử thứ hai
z <- c(TRUE, FALSE)

false viết hoa

R dành cho người dùng SAS

Tạo vector logic

# Thêm phần tử thứ ba TRUE
z <- c(TRUE, FALSE, TRUE)

# Xem z
z

Kết quả

[1]  TRUE FALSE TRUE

true viết hoa

R dành cho người dùng SAS

Tạo ma trận từ vector

#  Tạo vector số a
a <- c(5.0, 3.1, 2.4)
  • Ma trận tạo từ các vector
  • Vector phải cùng kiểu và độ dài

vector đầu số 5.0 3.1 2.4

R dành cho người dùng SAS

Tạo ma trận từ vector

#  Tạo vector số a
a <- c(5.0, 3.1, 2.4)

#  Tạo vector số b
b <- c(4.1, 2.2, 5.4)

vector thứ hai 4.1 2.2 5.4

R dành cho người dùng SAS

Tạo ma trận từ vector

# Tạo m từ a,b với 3 hàng 2 cột
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)

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

các vector kết hợp thành ma trận 3 hàng 2 cột

R dành cho người dùng SAS

Tạo data frame từ vector

# Tạo biến số score
score <- c(5.0, 3.1, 2.4)

# Xem score
score
     5.0 3.1 2.4
  • Data frame tạo từ các vector
  • Vector phải cùng độ dài
  • Vector có thể khác kiểu

vector số với 5.0 3.1 2.4

R dành cho người dùng SAS

Tạo data frame từ vector

# Tạo biến ký tự age
age <- c("child","young","old")

# Xem age
age
     "child" "young" "old"

vector ký tự với từ child young old

R dành cho người dùng SAS

Tạo data frame từ vector

# Tạo biến logic test
test <- c(TRUE, FALSE, TRUE)

# Xem test
test
     TRUE FALSE TRUE

vector logic true false true

R dành cho người dùng SAS

Tạo data frame từ vector

# Kết hợp để tạo data frame
d <- data.frame(score, age, test)

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

ba vector kết hợp thành data frame

R dành cho người dùng SAS

Xác định kiểu đối tượng

  • Tạo vector số x
  • Xác định class của x
  • Xem cấu trúc str của x
x <- c(5, 3, 2)
class(x)
 [1] "numeric"
str(x)
 num [1:3] 5 3 2
R dành cho người dùng SAS

Xác định kiểu đối tượng

  • Vector ký tự y; vector logic z
  • Xác định class của yz
  • Xem cấu trúc str của yz
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"
R dành cho người dùng SAS

Xác định kiểu đối tượng

  • Tạo ma trận m
  • Lấy class của m
  • Xem cấu trúc str của m
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"
R dành cho người dùng SAS

Xác định kiểu đối tượng

  • Tạo data.frame d
  • Lấy class của d
  • Xem cấu trúc str của d
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 Kiểu Factor được tạo tự động ở đây cho 3 nhóm tuổi.
R dành cho người dùng SAS

Hãy tạo và thao tác với đối tượng dữ liệu trong R

R dành cho người dùng SAS

Preparing Video For Download...