تیتر خبرها
ادغام و استانداردسازی داده های Scopus و WOS با R — حذف موارد تکراری و آماده سازی داده ها برای PRISMA
راهنمای گام به گام ادغام و استانداردسازی داده‌های Web of Science و Scopus با نرم‌افزار R

ادغام و استانداردسازی داده‌های WOS و Scopus در R

 

ادغام و استانداردسازی داده‌های WOS و Scopus در R

تهیه و تدوین: دکتر محسن مرادی و دکتر آیدا میرالماسی
آکادمی تحلیل آماری ایران – مدرسه پژوهش کمی و کیفی
www.analysisacademy.com

مقدمه

در تحقیقات نظام‌مند و مرورهای جامع، ادغام داده‌های استخراج‌شده از پایگاه‌های علمی مختلف، بخش مهمی از فرایند گردآوری شواهد محسوب می‌شود.
پایگاه‌های Scopus و Web of Science (WOS) به‌عنوان دو منبع معتبر بین‌المللی، پوشش گسترده‌ای از آثار علمی در حوزه‌های مختلف دارند.
ترکیب این دو مجموعه داده، به پژوهشگر امکان می‌دهد تا دامنه جستجوی خود را افزایش دهد و از جامعیت نتایج اطمینان بیشتری حاصل نماید.
با این حال، در فرآیند ادغام، چالش‌هایی مانند تفاوت در فرمت خروجی، نام‌گذاری ستون‌ها، و وجود رکوردهای تکراری اجتناب‌ناپذیر است.

هدف این آموزش، ارائه یک چارچوب گام‌به‌گام برای ادغام و استانداردسازی داده‌های Scopus و WOS با استفاده از نرم‌افزار R است؛
به نحوی که ضمن حفظ یکپارچگی اطلاعات، دسترسی به رکوردهای یکتا برای تحلیل نهایی و ثبت در پروتکلهای غربال‌گری مانند PRISMA فراهم شود.
رویکرد مورد استفاده در این راهنما، علاوه بر حذف صحیح موارد تکراری، امکان استانداردسازی متون و آماده‌سازی داده‌ها برای صادرات به فرمت‌های مورد نیاز پروژه‌های مرور نظام‌مند را فراهم می‌کند.
این روش توسط دکتر محسن مرادی و دکتر آیدا میرالماسی در آکادمی تحلیل آماری ایران تهیه و تدوین شده و برای پژوهشگران حوزه‌های کمی و کیفی قابل استفاده و پیاده‌سازی است.

پیش‌نیازها

  • خروجی Scopus (CSV)
  • خروجی WOS (Excel – XLS/XLSX)
  • نصب پکیج‌های R: readr، readxl، dplyr، stringr، ggplot2
install.packages(c("readr", "readxl", "dplyr", "stringr", "ggplot2"))

Step 1 – خواندن فایل‌ها


library(readr)
library(readxl)
library(dplyr)
library(stringr)

scopus <- read_csv("E:/Data Papers/litrature review/scopus Data/Data.scopus1092.csv")
wos <- read_excel("E:/Data Papers/litrature review/wos ai anxity/Data.wos1024.xlsx")

Step 2 – هماهنگ‌سازی نام ستون‌ها

نام ستون‌های دو فایل باید یکسان شوند تا بتوان آن‌ها را ادغام کرد.


names(scopus)
names(wos)

# تغییر نام ستون‌ها در هر فایل به استاندارد یکسان
scopus <- scopus %>% rename(title = `Article Title`, doi = DOI, authors = Authors)
wos <- wos %>% rename(title = `Article Title`, doi = DOI, authors = Authors)

Step 3 – ادغام داده‌ها


all_data <- bind_rows(scopus, wos)

Step 4 – ساخت کلید حذف تکراری


all_data <- all_data %>%
  mutate(
    title_clean = str_trim(str_to_lower(title)),
    doi_clean = str_trim(str_to_lower(doi)),
    dedup_key = ifelse(doi_clean != "", doi_clean, title_clean)
  )

Step 5 – حذف موارد تکراری


dedup_data <- all_data %>% distinct(dedup_key, .keep_all = TRUE)
کل رکوردها قبل از حذف: 2116
تکراری‌ها حذف شده: 624
رکوردهای نهایی برای غربال: 1492

Step 6 – تابع استانداردسازی عناوین


proper_title <- function(x) {
  x <- as.character(x)
  t <- str_to_title(x)
  small_words <- c("And","Or","The","On","In","For","Of","To","A","An","With","At","By","From")
  for (w in small_words) {
    t <- gsub(paste0("\\b", w, "\\b"), tolower(w), t)
  }
  acronyms <- c("AI","SEM","LLM","GPT","GDP","USA","UK","EU","EFL","ESL")
  for(ac in acronyms) {
    t <- gsub(ac, ac, t, ignore.case = TRUE)
  }
  return(t)
}

Step 7 – اعمال استانداردسازی


dedup_data$title <- proper_title(dedup_data$title)
dedup_data$authorkeywords <- proper_title(dedup_data$authorkeywords)

Step 8 – ذخیره خروجی‌ها


write.csv(dedup_data, "final_Data.csv", row.names = FALSE)

screening_data <- dedup_data %>%
    select(authors, title, abstract, authorkeywords, sourcetitle, year, citedby, doi, publisher)

write.csv(screening_data, "final_Data_screening.csv", row.names = FALSE)

Step 9 – آمار PRISMA

Stage Count
Scopus initial records 1092
WOS initial records 1024
Total before deduplication 2116
Duplicates removed 624
Final records 1492

Step 10 – نمودار PRISMA


library(ggplot2)
prisma_counts <- data.frame(
  Stage = c("Scopus initial", "WOS initial", "Total before deduplication", "Duplicates removed", "Final records"),
  Count = c(1092, 1024, 2116, 624, 1492)
)

ggplot(prisma_counts, aes(x = Stage, y = Count)) +
  geom_col(fill = "steelblue") +
  geom_text(aes(label = Count), vjust = -0.5) +
  theme_minimal() +
  labs(title = "PRISMA Flow Records", x = NULL, y = "Number of Records") +
  theme(axis.text.x = element_text(angle = 30, hjust = 1))
نمودار PRISMA Flow Records در R
خروجی کد R برای ترسیم نمودار جریان PRISMA

منابع و مآخذ

لینک کانال یوتیوب آکادمی تحلیل آماری ایران

اطلاعات کتاب شناسی مطالب

Moradi M, Miralmasi A (2020) Pragmatic Research Methods: A Comprehensive Guide to Quantitative, Qualitative, Mixed, and Review Approaches, First. School of Quantitative and Qualitative Research (Analysis Academy) ; MPT ACADEMY; Austria, Tehran, Iran

Dr. Aida Miralmasi ✔️
Dr. Mohsen Moradi ✔️

مشاهده مطالب زیر به محققین توصیه می شود.

📎 آدرس سایت و کانال تلگرام و اینستاگرام 👇
آدرس کانال تلگرام: https://telegram.me/analysisacademy
آدرس پیج اینستاگرام: https://www.instagram.com/analysisacademy

 

درباره ی admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *