MỞ ĐẦU
Vietnam Citation Gateway (V-CitationGate) do Đại học Quốc gia Hà Nội sáng kiến và khởi động xây dựng từ năm 2016. Mục tiêu đầu tiên là xây dựng một thư viện số, cung cấp tất cả các bài nghiên cứu công bố trên hệ thống tạp chí khoa học online của Việt Nam phục vụ công tác đào tạo và nghiên cứu. Thư viện này cho phép thực hiện các tìm kiếm, phân tích, thống kê và trích xuất thông tin khoa học ở các cấp độ khác nhau, từ tác giả đến đơn vị; chủ đề đến lĩnh vực, nhóm lĩnh vực; thời gian xuất bản đến mức độ hợp tác nghiên cứu…
Sau hơn 1 năm hoạt động, V-CitationGate đã kết nối thành công các ấn phẩm khoa học xuất bản trên 50 Tạp chí khoa học của Việt Nam có thông tin trích dẫn trong nước và trên thế giới.1
Bộ dữ liệu được truy cập miễn phí tại địa chỉ V-CitationGate.
Hôm nay chúng ta sẽ thử thực hiện các phân tích nhỏ với bộ dữ liệu này trên R.
PACKAGE
list_package <- c(
"tidyverse","ggpubr", "plotly", "DT"
)
lapply(list_package, library, character.only = TRUE)
library(DT)DATA
vn_journal <- read.csv("vn_journal.csv", header = T)
datatable(vn_journal, class = "compact")PHÂN TÍCH
Số tạp chí và số bài báo có trong dữ liệu
#Số tạp chí
length(vn_journal$journal)## [1] 52
#Số bài báo
sum(vn_journal$nb.paper)## [1] 22992
#Số trích dẫn
sum(vn_journal$nb.cite)## [1] 7218
10 Tạp chí có số lượng bài báo nhiều nhất
top_10 <- vn_journal %>% top_n( 10, nb.paper) %>% arrange(desc(nb.paper))
p <- ggbarplot(top_10, x="journal", y='nb.paper',
fill="#088036", color = "white",
sort.val = "asc",
ylab="So bai bao", xlab="") +coord_flip()
gg <- plotly_build(p)
gg$x$data[[1]]$text <- paste("So bai bao:", rev(top_10$nb.paper),"<br>",
"So trich dan:", rev(top_10$nb.cite))
gg10 Tạp chí có số lượng trích dẫn nhiều nhất
top_10 <- vn_journal %>% top_n( 10, nb.cite) %>% arrange(desc(nb.cite))
p <- ggbarplot(top_10, x="journal", y='nb.cite',
fill="#088036", color = "white",
sort.val = "asc",
ylab="So trich dan",xlab="") +coord_flip()
gg <- plotly_build(p)
gg$x$data[[1]]$text <- paste("So bai bao:", rev(top_10$nb.paper),"<br>",
"So trich dan:", rev(top_10$nb.cite))
gg10 Tạp chí có tỉ lệ trích dẫn trên bài báo nhiều nhất
top_10 <- top_n(vn_journal, 10, cite_paper_ratio)
p <- ggbarplot(top_10, x="journal", y='nb.cite',
fill="#088036", color = "white",
sort.val = "asc",
ylab="So trich dan", xlab="") +coord_flip()
gg <- plotly_build(p)
gg$x$data[[1]]$text <- paste("So bai bao:", rev(top_10$nb.paper),"<br>",
"So trich dan:", rev(top_10$nb.cite))
ggSố tạp chí theo cơ quan chủ quản
co_quan <- vn_journal %>%
group_by(institute) %>%
summarise(nb.paper = sum(nb.paper),
nb.cite = sum(nb.cite),
n = n()) %>% arrange(desc(n)) %>%
as.data.frame(table(unlist()))
p <- ggbarplot(co_quan, x="institute", y='n',
fill="#088036", color = "white",
sort.val = "asc",
ylab="So tap chi", xlab="") +coord_flip()
gg <- plotly_build(p)
gg$x$data[[1]]$text <- paste("So tap chi:", rev(co_quan$n),"<br>",
"So bai bao:", rev(co_quan$nb.paper),"<br>",
"So trich dan:", rev(co_quan$nb.cite))
ggSố bài báo theo lĩnh vực
field <- vn_journal %>%
group_by(Field) %>%
summarise(nb.paper = sum(nb.paper),
nb.cite = sum(nb.cite)) %>% arrange(desc(nb.paper)) %>%
as.data.frame(table(unlist()))
p <- ggbarplot(field, x="Field", y='nb.paper',
fill="#088036", color = "white",
sort.val = "asc",
ylab="So tap chi", xlab="") +coord_flip()
gg <- plotly_build(p)
gg$x$data[[1]]$text <- paste("So bai bao:", rev(field$nb.paper),"<br>",
"So trich dan:", rev(field$nb.cite))
ggSố bài báo theo năm (2006-4/2017)
journal_year <- read.table("journal_year.txt", header = T)
plot_ly(journal_year) %>%
add_trace(x = ~year, y = ~nb.paper, type = 'bar', name = 'nb.paper',
marker = list(color = '#088036'),
hoverinfo = "text",
text = ~paste(nb.paper, ' papers')) %>%
add_trace(x = ~year, y = ~nb.cite, type = 'scatter', mode = 'lines', name = 'nb.cite', yaxis = 'y2',
line = list(color = '#FFA500'),
hoverinfo = "text",
text = ~paste(nb.cite, 'nb.cite')) %>%
layout(title = 'Thong ke so bai bao va trich dan theo nam',
xaxis = list(title = ""),
yaxis = list(side = 'left', title = 'So bai bao', showgrid = FALSE, zeroline = FALSE),
yaxis2 = list(side = 'right', overlaying = "y", title = 'So trich dan', showgrid = FALSE, zeroline = FALSE))