Giới thiệu

Bảng thống kê mô tả về các biến quan sát được sử dụng trong hầu hết các bài báo ứng dụng. Bảng này có đặc điểm như sau + Đối với biến liên tục (biến số lượng): Thể hiện giá trị trung bình và độ lệch chuẩn + Đối với biến chất lượng: Thể hiện các phạm trù và tỉ lệ phần trăm của từng phạm trù trong mẫu quan sát, và cả số lượng của từng phạm trù.

Tài liệu này minh họa việc sử dụng gói lệnh Tableone trong R để dễ dàng lấy được các thông tin cơ bản như trên. Tài liệu sử dụng số liệu wiki4HE về nhận thức của giảng viên đại học và thực hành sử dụng Wikipedia làm tài nguyên giảng dạy. Số liệu thực hành có thể download tại:

Nhập số liệu trên R

Số liệu để ở file dạng .csv nên có lệnh đọc là read.csv. Sau khi đọc xong thì tôi đổi tên dữ liệu thành d cho nhỏ gọn. Lệnh setwd (set working directory) chỉ đến folder chứa dữ liệu trong laptop của các bạn nhé!!

setwd("D:/Taphuan_VIASM/Chuoi Seminar/Rcode")
d <- read.csv("wiki4HE.csv", sep = ";", stringsAsFactors=FALSE)
require(tidyverse)

Sau khi nhập số liệu, có thể sử dụng các lệnh sau để xem cấu trúc số liệu

str(d) 
head(d)
names(d)

Thay đổi các phạm trù của biến chất lượng

Bảng thống kê mô tả các quan sát được minh họa thông qua các biến quan sát là: AGE, YEARSEXP,GENDER, DOMAIN, PhD, UNIVERSITY, UOC_POSITION, OTHER_POSITION. Tiếp theo, chúng ta đổi các phạm trù của các biến chất lượng để dễ quan sát hơn. Chi tiết về các phạm trù xem tại website gốc của dữ liệu. Đồng thời, hai biến số lượng YEARSEXP và AGE chưa phải dạng số nên sẽ chuyển đổi sang numeric.

d <- d %>% mutate(GENDER = ifelse(GENDER == 0, "Male", "Female"),
                  DOMAIN = ifelse(DOMAIN == 1, "Arts - Humanities",
                                  ifelse(DOMAIN == 2, "Sciences",
                                         ifelse(DOMAIN == 3, "Health Sciences",
                                                ifelse(DOMAIN == 4, "Engineering-Architecture", "Law - Politics")))),
                  PhD = ifelse(PhD == 0, "No", "Yes"),
                  UNIVERSITY = ifelse(UNIVERSITY == 1, "UOC", "UPF"),
                  UOC_POSITION = ifelse(UOC_POSITION == 1, "Professor",
                                        ifelse(UOC_POSITION == 2, "Associate",  
                                               ifelse(UOC_POSITION == 3, "Assistant",
                                                      ifelse(UOC_POSITION == 4, "Lecturer", 
                                                             ifelse(UOC_POSITION == 5, "Instructor","Adjunct" ))))),
                  OTHER_POSITION = ifelse(OTHER_POSITION == 0, "No", "Yes"))

d[, "YEARSEXP"]  <- as.numeric(d[, "YEARSEXP"] ) 
d[, "AGE"]  <- as.numeric(d[, "AGE"] ) 

Sử dụng gói Tableone để đưa ra bảng thống kê mô tả

Trước tiên, gọi gói lệnh và đặt nhóm biến

require(tableone) # Gọi gói lệnh để tạo thống kê mô tả
catVars <- c("GENDER", "DOMAIN", "PhD", "UNIVERSITY", "UOC_POSITION", "OTHER_POSITION")
myVars  <- c("AGE", "YEARSEXP","GENDER", "DOMAIN", "PhD", "UNIVERSITY", "UOC_POSITION", "OTHER_POSITION"  )

Sử dụng hàm tạo bảng và gán kết quả vào tên tab2

tab2 <- CreateTableOne(vars = myVars, data = d, factorVars = catVars)

Tiếp theo các bạn có thể xem kết quả như sau

tab2 

Bước cuối cùng là chỉnh sửa bảng đẹp để đưa vào báo cáo, theo kinh nghiệm của Hường thì các bạn ghi lại tab2 dưới file .csv và chỉnh sửa thêm trên Excel nhé. File sẽ tự động ghi vào working directory của laptop của bạn. Nếu không biết lưu ở đây thì dùng lệnh getwd() nhé.

write.csv(print(tab2), file ="tab2test.csv") 
getwd()