Có copy từ bài tập của khóa học "Phân tích Tiên lượng và Nhân quả" do GS Nguyễn Văn Tuấn giảng dạy ở Bệnh viện Chợ Rẫy (4-9.8.2019).

H1

H2

H3

1. Chuẩn bị

Bước 1: Đọc dữ liệu

# Dataset: 'Big Five Personality Data.csv'
big5 = read.csv(file.choose())

head(big5, 3)
##   race age engnat gender hand source country E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 N1 N2 N3 N4 N5 N6 N7 N8
## 1    3  53      1      1    1      1      US  4  2  5  2  5  1  4  3  5   1  1  5  2  5  1  1  1  1
## 2   13  46      1      2    1      1      US  2  2  3  3  3  3  1  5  1   5  2  3  4  2  3  4  3  2
## 3    1  14      2      2    1      1      PK  5  1  1  4  5  1  1  5  5   1  5  1  5  5  5  5  5  5
##   N9 N10 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 O1 O2 O3 O4 O5 O6 O7 O8 O9
## 1  1   1  1  5  1  5  2  3  1  5  4   5  4  1  5  1  5  1  4  1  4   5  4  1  3  1  5  1  4  2  5
## 2  2   4  1  3  3  4  4  4  2  3  4   3  4  1  3  2  3  1  5  1  4   4  3  3  3  3  2  3  3  1  3
## 3  5   5  5  1  5  5  1  5  1  5  5   5  4  1  5  1  5  1  5  1  5   5  4  5  5  1  5  1  5  5  5
##   O10
## 1   5
## 2   2
## 3   5

Bước 2: Trích 1 phần dữ liệu ra vẽ biểu đồ chơi

# Dữ liệu để vẽ bằng package 'sjPlot'
test_sjPlot = big5[, c("E1", "E2", "E3", "E4", "E5")]

# Dữ liệu để vẽ bằng package 'likert'
test_likert = big5[, c("E1", "E2", "E3", "E4", "E5")]

2. Vẽ biểu đồ

Bước 3 Vẽ biểu đồ

Vẽ biểu đồ bằng package sjPlot

Convert missing value từ 0 thành 6

test_sjPlot$E1[test_sjPlot$E1 == 0] = 6
test_sjPlot$E2[test_sjPlot$E2 == 0] = 6
test_sjPlot$E3[test_sjPlot$E3 == 0] = 6
test_sjPlot$E4[test_sjPlot$E4 == 0] = 6
test_sjPlot$E5[test_sjPlot$E5 == 0] = 6

Vẽ biểu đồ bằng package sjPlot 1

# Nạp package 'sjPlot'
library(sjPlot)

# Vẽ biểu đồ
plot_likert(
  test_sjPlot,
  catcount = 5,
  cat.neutral = 6,
  title = 'V\u1EBD ch\u01A1i Bi\u1EC3u \u0111\u1ED3 likert',
  axis.titles = c('abc', 'xyz')
)

Vẽ biểu đồ bằng package likert

Remove missing value bằng package tidyverse

# Nạp package 'tidyverse'
library(tidyverse)

# Lọc missing value (kí hiệu bằng giá trị 0)
test_likert = filter(
  test_likert,
  test_likert$E1 > 0 |
    test_likert$E2 > 0 |
    test_likert$E3 > 0 | test_likert$E4 > 0 | test_likert$E5 > 0
)

Convert sang biến factor

test_likert$E1 = as.factor(test_likert$E1)
test_likert$E2 = as.factor(test_likert$E2)
test_likert$E3 = as.factor(test_likert$E3)
test_likert$E4 = as.factor(test_likert$E4)
test_likert$E5 = as.factor(test_likert$E5)

Vẽ biểu đồ bằng package likert

# Nạp package 'likert'
library(likert)

# Vẽ biểu đồ
li = likert(test_likert)
plot(li)

3. Tham khảo thêm