Dữ liệu sử dụng trong hướng dẫn này là của PGS.TS Trần Văn Trang (Đại học Thương mại).
Bài báo gốc lấy tại: http://tckhtm.tmu.edu.vn/vi/news/cac-so-tap-chi/tap-chi-khoa-hoc-thuong-mai-so-141-153.html
Dữ liệu tải tại google diver: https://drive.google.com/drive/folders/1Npip6h8WyZjI9JGf5wonnU_scBUYj4sP?usp=sharing
setwd("D:/Tap huan VIASM/HoiThao_KHXH_2021/Projects/Y_Dinh_Hanh_Vi")
library(foreign) # to read .sav
library(tableone) # to give description statistics table
require(tidyverse)
d <- read.spss("Case study Behavior Intention.sav",
use.value.label=TRUE, to.data.frame=TRUE)
Tìm hiểu về số liệu
names(d)
## [1] "STT" "BI1" "BIRecode" "BI1R" "BI2" "BI3"
## [7] "BI4" "BI4R" "BI5" "BI6" "REL1" "REL2"
## [13] "REL3" "REL4" "EDU1" "EDU2" "EDU3" "EDU4"
## [19] "EDU5" "EDU6" "EDU7" "EDU8" "GOV1" "GOV2"
## [25] "GOV3" "GOV4" "GOV5" "GOV6" "END1" "END2"
## [31] "END3" "END4" "END5" "FAM" "Formation" "Work"
## [37] "Year"
head(d)
## STT BI1 BIRecode BI1R BI2 BI3 BI4 BI4R BI5 BI6 REL1 REL2 REL3 REL4 EDU1 EDU2
## 1 1 4 4 4 3 5 4 4 3 2 4 4 4 4 5 5
## 2 2 5 3 3 3 6 5 3 4 1 1 1 1 6 5 5
## 3 3 5 3 3 5 4 6 2 2 2 5 5 5 5 4 4
## 4 4 2 6 6 5 5 2 6 5 5 4 7 5 4 7 7
## 5 5 1 7 7 7 6 1 7 6 5 6 6 6 7 6 6
## 6 6 1 7 7 6 6 2 6 4 5 4 5 4 6 6 6
## EDU3 EDU4 EDU5 EDU6 EDU7 EDU8 GOV1 GOV2 GOV3 GOV4 GOV5 GOV6 END1 END2 END3
## 1 6 6 6 6 6 4 6 5 5 5 6 5 4 5 4
## 2 5 5 5 6 6 6 5 3 5 1 2 7 6 5 6
## 3 4 5 5 5 5 5 6 6 6 6 6 6 7 7 7
## 4 6 6 7 1 6 6 7 6 6 6 7 7 6 4 5
## 5 6 6 6 3 6 6 7 2 2 2 2 6 7 6 6
## 6 7 7 6 5 4 4 4 6 6 6 5 4 6 5 5
## END4 END5 FAM Formation Work Year
## 1 3 3 0 0 1 3
## 2 6 5 1 0 2 3
## 3 7 7 1 0 1 3
## 4 5 5 0 1 2 3
## 5 5 2 0 1 2 3
## 6 4 5 0 1 3 3
tail(d)
## STT BI1 BIRecode BI1R BI2 BI3 BI4 BI4R BI5 BI6 REL1 REL2 REL3 REL4 EDU1
## 821 935 5 3 3 4 4 4 4 4 3 1 1 5 4 6
## 822 936 6 2 2 5 4 4 4 4 4 1 4 1 6 6
## 823 937 3 5 5 3 3 3 5 3 4 5 3 2 2 5
## 824 938 4 4 4 4 5 4 4 5 4 4 4 5 5 6
## 825 939 4 4 4 5 3 4 4 4 5 6 7 7 6 5
## 826 940 2 6 6 4 4 4 4 4 4 4 4 4 4 5
## EDU2 EDU3 EDU4 EDU5 EDU6 EDU7 EDU8 GOV1 GOV2 GOV3 GOV4 GOV5 GOV6 END1 END2
## 821 6 6 6 6 6 6 6 4 5 5 5 6 6 6 6
## 822 4 4 5 6 6 6 6 5 5 6 6 6 6 5 5
## 823 6 6 6 5 6 5 5 3 3 3 4 5 6 6 7
## 824 6 6 6 6 6 6 6 6 5 5 6 6 4 6 6
## 825 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5
## 826 5 5 5 5 5 5 5 6 6 6 6 6 6 4 4
## END3 END4 END5 FAM Formation Work Year
## 821 6 5 5 0 0 2 3
## 822 5 5 5 0 0 2 3
## 823 6 6 6 0 0 2 3
## 824 6 6 6 0 0 2 3
## 825 5 6 5 0 0 2 3
## 826 4 4 4 0 0 1 3
head(d, 10)
## STT BI1 BIRecode BI1R BI2 BI3 BI4 BI4R BI5 BI6 REL1 REL2 REL3 REL4 EDU1 EDU2
## 1 1 4 4 4 3 5 4 4 3 2 4 4 4 4 5 5
## 2 2 5 3 3 3 6 5 3 4 1 1 1 1 6 5 5
## 3 3 5 3 3 5 4 6 2 2 2 5 5 5 5 4 4
## 4 4 2 6 6 5 5 2 6 5 5 4 7 5 4 7 7
## 5 5 1 7 7 7 6 1 7 6 5 6 6 6 7 6 6
## 6 6 1 7 7 6 6 2 6 4 5 4 5 4 6 6 6
## 7 7 2 6 6 4 5 2 6 5 5 6 6 6 6 5 6
## 8 8 1 7 7 3 4 2 6 4 5 4 4 4 6 5 5
## 9 9 2 6 6 5 4 3 5 3 6 6 6 6 6 7 6
## 10 10 1 7 7 6 6 1 7 6 6 6 4 4 6 7 6
## EDU3 EDU4 EDU5 EDU6 EDU7 EDU8 GOV1 GOV2 GOV3 GOV4 GOV5 GOV6 END1 END2 END3
## 1 6 6 6 6 6 4 6 5 5 5 6 5 4 5 4
## 2 5 5 5 6 6 6 5 3 5 1 2 7 6 5 6
## 3 4 5 5 5 5 5 6 6 6 6 6 6 7 7 7
## 4 6 6 7 1 6 6 7 6 6 6 7 7 6 4 5
## 5 6 6 6 3 6 6 7 2 2 2 2 6 7 6 6
## 6 7 7 6 5 4 4 4 6 6 6 5 4 6 5 5
## 7 5 6 5 6 6 6 5 5 5 4 4 4 4 5 6
## 8 6 6 6 6 5 5 5 4 5 5 4 4 5 6 6
## 9 6 7 6 6 6 6 6 6 7 7 4 7 5 6 5
## 10 6 6 6 6 6 6 6 5 6 4 6 6 6 6 7
## END4 END5 FAM Formation Work Year
## 1 3 3 0 0 1 3
## 2 6 5 1 0 2 3
## 3 7 7 1 0 1 3
## 4 5 5 0 1 2 3
## 5 5 2 0 1 2 3
## 6 4 5 0 1 3 3
## 7 5 6 0 0 2 4
## 8 5 5 0 1 2 4
## 9 5 5 0 1 3 4
## 10 6 4 0 1 2 4
str(d)
## 'data.frame': 826 obs. of 37 variables:
## $ STT : num 1 2 3 4 5 6 7 8 9 10 ...
## $ BI1 : num 4 5 5 2 1 1 2 1 2 1 ...
## $ BIRecode : num 4 3 3 6 7 7 6 7 6 7 ...
## $ BI1R : num 4 3 3 6 7 7 6 7 6 7 ...
## $ BI2 : num 3 3 5 5 7 6 4 3 5 6 ...
## $ BI3 : num 5 6 4 5 6 6 5 4 4 6 ...
## $ BI4 : num 4 5 6 2 1 2 2 2 3 1 ...
## $ BI4R : num 4 3 2 6 7 6 6 6 5 7 ...
## $ BI5 : num 3 4 2 5 6 4 5 4 3 6 ...
## $ BI6 : num 2 1 2 5 5 5 5 5 6 6 ...
## $ REL1 : num 4 1 5 4 6 4 6 4 6 6 ...
## $ REL2 : num 4 1 5 7 6 5 6 4 6 4 ...
## $ REL3 : num 4 1 5 5 6 4 6 4 6 4 ...
## $ REL4 : num 4 6 5 4 7 6 6 6 6 6 ...
## $ EDU1 : num 5 5 4 7 6 6 5 5 7 7 ...
## $ EDU2 : num 5 5 4 7 6 6 6 5 6 6 ...
## $ EDU3 : num 6 5 4 6 6 7 5 6 6 6 ...
## $ EDU4 : num 6 5 5 6 6 7 6 6 7 6 ...
## $ EDU5 : num 6 5 5 7 6 6 5 6 6 6 ...
## $ EDU6 : num 6 6 5 1 3 5 6 6 6 6 ...
## $ EDU7 : num 6 6 5 6 6 4 6 5 6 6 ...
## $ EDU8 : num 4 6 5 6 6 4 6 5 6 6 ...
## $ GOV1 : num 6 5 6 7 7 4 5 5 6 6 ...
## $ GOV2 : num 5 3 6 6 2 6 5 4 6 5 ...
## $ GOV3 : num 5 5 6 6 2 6 5 5 7 6 ...
## $ GOV4 : num 5 1 6 6 2 6 4 5 7 4 ...
## $ GOV5 : num 6 2 6 7 2 5 4 4 4 6 ...
## $ GOV6 : num 5 7 6 7 6 4 4 4 7 6 ...
## $ END1 : num 4 6 7 6 7 6 4 5 5 6 ...
## $ END2 : num 5 5 7 4 6 5 5 6 6 6 ...
## $ END3 : num 4 6 7 5 6 5 6 6 5 7 ...
## $ END4 : num 3 6 7 5 5 4 5 5 5 6 ...
## $ END5 : num 3 5 7 5 2 5 6 5 5 4 ...
## $ FAM : num 0 1 1 0 0 0 0 0 0 0 ...
## $ Formation: num 0 0 0 1 1 1 0 1 1 1 ...
## $ Work : num 1 2 1 2 2 3 2 2 3 2 ...
## $ Year : num 3 3 3 3 3 3 4 4 4 4 ...
## - attr(*, "variable.labels")= Named chr(0)
## ..- attr(*, "names")= chr(0)
## - attr(*, "codepage")= int 1252
Tìm hiểu hàm CreateTableOne
?CreateTableOne
Khai báo biến và sử dụng hàm
#====================================SEC1: Description stats
#==============Create Table 1
catVars <- c("FAM", "Formation", "Work", "Year" )
myVars <- c("FAM", "Formation", "Work", "Year" )
tab1a <- CreateTableOne(vars = myVars, factorVars = catVars, data = d)
Xem kết quả tab1a
#Xem bang
tab1a
##
## Overall
## n 826
## FAM = 1 (%) 265 (32.1)
## Formation = 1 (%) 390 (47.2)
## Work (%)
## 1 233 (28.2)
## 2 496 (60.0)
## 3 97 (11.7)
## Year = 4 (%) 399 (48.3)
Xuất kết quả ra file .csv theo tùy chọn
#----------------------Luu file .cvs
tab1afp <- print(tab1a)
##
## Overall
## n 826
## FAM = 1 (%) 265 (32.1)
## Formation = 1 (%) 390 (47.2)
## Work (%)
## 1 233 (28.2)
## 2 496 (60.0)
## 3 97 (11.7)
## Year = 4 (%) 399 (48.3)
tab1af <- print(tab1a, format = "f")
##
## Overall
## n 826
## FAM = 1 265
## Formation = 1 390
## Work
## 1 233
## 2 496
## 3 97
## Year = 4 399
tab1ap <- print(tab1a, format = "p")
##
## Overall
## n 826
## FAM = 1 (%) 32.1
## Formation = 1 (%) 47.2
## Work (%)
## 1 28.2
## 2 60.0
## 3 11.7
## Year = 4 (%) 48.3
write.csv(tab1afp, file = "tab1afp.csv")
write.csv(tab1af, file = "tab1af.csv")
write.csv(tab1ap, file = "tab1ap.csv")