شعار أرقامي

تقرير تحليلي – منصة أرقامي

1 المقدّمة

يقدّم هذا التقرير قراءة معمّقة لبيانات الخريجين، المبتعثين، وأعضاء هيئة التدريس في جامعة الملك سعود لعام 2024، بما يوفّر لقيادة الجامعة لوحات مؤشرات قابلة للتنفيذ. يرتكز العمل على ثلاثة محاور استراتيجية مترابطة:

يعتمد التقرير على ثلاثة ملفات إكسل (الخريجون/الهيئة/المبتعثون)، ويقدّم: 1) ملخصات وصفية (جداول + أعمدة أفقية + مخططات دائرية).
2) تفسيرات مفصّلة أسفل كل شكل لربط النتائج بالسياسات.
3) تحليل متعدد الأبعاد (MDS فقط) لقياس التشابه بين الكليات دون عنقدة تلقائية، مع توجيه عملي لكيفية استثمار النتائج.

ليست الغاية أرقامًا مجردة؛ بل قرارات قابلة للتنفيذ تدعم التخطيط الأكاديمي والتشغيلي، بما ينسجم مع مستهدفات رؤية السعودية 2030.

1.1 أسئلة البحث

  1. ما الكليات الأكثر تخرّجًا؟ وهل توجد فجوات بين الجنسين؟
  2. ما المراحل/البرامج والدول الأكثر استقطابًا للابتعاث؟ وما مستوى التوازن بين الجنسين؟
  3. كيف يتوزّع أعضاء هيئة التدريس بحسب المراتب العلمية والكليات؟
  4. كيف تتشابه الكليات عند دمج مؤشرات (خريجون/هيئة/مبتعثون) وفق MDS؟

1.2 المنهجية (موجز)

  • تنظيف البيانات: إزالة الفراغات وتوحيد الحقول (الكلية، الجنس، المرتبة/المرحلة، الدولة).
  • وصف إحصائي: جداول + أعمدة أفقية + مخططات دائرية (Pie) مع تفسيرات نصّية.
  • MDS فقط: إسقاط ثنائي الأبعاد لتصوّر قرب/بعد الكليات دون استخدام K-means.

2 إعداد المسارات

# إذا كانت الملفات ليست بجانب هذا الملف، ضع مسارك هنا (مثال ويندوز):
# BASE_DIR <- "C:/Users/ASUS/Desktop/eduvision"
BASE_DIR <- NA_character_

fname_grads <- "الطلاب.xlsx"
fname_fac   <- "اعضاء هيئة التدريس.xlsx"
fname_s1    <- "بيانات المبتعثين في الخارج .xlsx"  # مع مسافة قبل .xlsx
fname_s2    <- "بيانات المبتعثين في الخارج.xlsx"   # بدون المسافة

build_candidates <- function(fname){
  rmd_dir <- tryCatch(normalizePath(dirname(rmarkdown::current_input())), error=function(e) getwd())
  bases <- unique(na.omit(c(BASE_DIR, rmd_dir, getwd())))
  file.path(bases, fname)
}

path_grads <- first_existing(build_candidates(fname_grads))
path_fac   <- first_existing(build_candidates(fname_fac))
path_schol <- first_existing(c(build_candidates(fname_s1), build_candidates(fname_s2)))

list(grads_path = path_grads, fac_path = path_fac, schol_path = path_schol)
## $grads_path
## [1] "C:/Users/ASUS/Desktop/budget/الطلاب.xlsx"
## 
## $fac_path
## [1] "C:/Users/ASUS/Desktop/budget/اعضاء هيئة التدريس.xlsx"
## 
## $schol_path
## [1] "C:/Users/ASUS/Desktop/budget/بيانات المبتعثين في الخارج .xlsx"
missing <- c()
if (is.na(path_grads)) missing <- c(missing, fname_grads)
if (is.na(path_fac))   missing <- c(missing, fname_fac)
if (is.na(path_schol)) missing <- c(missing, paste(fname_s1,"/",fname_s2))
if (length(missing) > 0) {
  stop(paste0(
    "تعذّر العثور على الملفات: ", paste(missing, collapse = ", "),
    "\nضع ملفات الإكسل بجانب هذا الملف أو حدّد BASE_DIR في كتلة 'paths'.")
  )
}

3 قراءة وتنظيف البيانات

grads <- read_excel(path_grads) %>% remove_empty(c("rows","cols"))
fac   <- read_excel(path_fac)   %>% remove_empty(c("rows","cols"))
schol <- read_excel(path_schol) %>% remove_empty(c("rows","cols"))

cat("أعمدة الخريجين:\n"); print(names(grads))
## أعمدة الخريجين:
## [1] "الجنس"  "الكلية" "الدرجة"
cat("\nأعمدة هيئة التدريس:\n"); print(names(fac))
## 
## أعمدة هيئة التدريس:
## [1] "الجنس"           "الكلية"          "المرتبة العلمية"
cat("\nأعمدة المبتعثين:\n"); print(names(schol))
## 
## أعمدة المبتعثين:
## [1] "الكلية"        "الجنس"         "دولة الابتعاث" "مؤهل الابتعاث"
# تعيين الحقول الشائعة آليًا (يمكن تعديل النتائج يدويًا إذا لزم)
g_college <- resolve_col(grads, c("الكلية","College","Faculty","الجهة","القسم","الكلية/القسم"))
g_gender  <- resolve_col(grads, c("الجنس","Gender","sex"))

f_college <- resolve_col(fac,   c("الكلية","College","Faculty","الجهة","القسم","الكلية/القسم"))
f_rank    <- resolve_col(fac,   c("المرتبة العلمية","المرتبة","Rank","الرتبة"))

s_prog    <- resolve_col(schol, c("مرحلة الابتعاث","Program","المؤهل","Phase","المرحلة"))
s_gender  <- resolve_col(schol, c("الجنس","Gender","sex"))
s_country <- resolve_col(schol, c("دولة الابتعاث","الدولة","Country","الوجهة","دولة"))

list(
  grads_map = c(الكلية = g_college, الجنس = g_gender),
  fac_map   = c(الكلية = f_college, المرتبة = f_rank),
  schol_map = c(المرحلة = s_prog, الجنس = s_gender, الدولة = s_country)
)
## $grads_map
##   الكلية    الجنس 
## "الكلية"  "الجنس" 
## 
## $fac_map
##            الكلية           المرتبة 
##          "الكلية" "المرتبة العلمية" 
## 
## $schol_map
##         المرحلة           الجنس          الدولة 
##              NA         "الجنس" "دولة الابتعاث"

4 الخريجون

if (!is.na(g_college)) {
  grads_by_college <- grads %>%
    group_by(.data[[g_college]]) %>%
    summarise(عدد = n(), .groups = "drop") %>%
    arrange(desc(عدد))
  knitr::kable(grads_by_college, caption = "توزيع الخريجين حسب الكلية")
  ggplot(grads_by_college, aes(x = reorder(.data[[g_college]], عدد), y = عدد)) +
    geom_col() + coord_flip() +
    labs(title = "عدد الخريجين حسب الكلية", x = "الكلية", y = "عدد") +
    theme_minimal()
}

تفسير مفصّل: يوضّح الشكل الكليات الأعلى مخرجات؛ عادةً تتقدّم الكليات التطبيقية، بينما تظهر التخصصات الدقيقة بأعداد أقل. يفيد ذلك في مراجعة الطاقة الاستيعابية للكليات الكبرى وتقديم دعم موجّه للتخصصات ذات الأعداد المحدودة لضمان توازن أكاديمي.

if (!is.na(g_gender)) {
  grads_by_gender <- grads %>% count(.data[[g_gender]], name = "عدد")
  ggplot(grads_by_gender, aes(x = "", y = عدد, fill = .data[[g_gender]])) +
    geom_col(width = 1, color = "white") + coord_polar(theta = "y") +
    labs(title = "نسبة الخريجين حسب الجنس", x = NULL, y = NULL) +
    theme_void()
}

تفسير مفصّل: يبيّن المخطط الدائري مدى التوازن بين الجنسين في مخرجات التخرّج. عند وجود فجوة واضحة، تُقترح سياسات تستهدف تشجيع المشاركة وتحسين الوصول للبرامج المطلوبة للفئة الأقل تمثيلًا.

5 أعضاء هيئة التدريس

if (!is.na(f_rank)) {
  fac_by_rank <- fac %>% count(.data[[f_rank]], name = "عدد") %>% arrange(desc(عدد))
  knitr::kable(fac_by_rank, caption = "توزيع أعضاء هيئة التدريس حسب المرتبة العلمية")
}
توزيع أعضاء هيئة التدريس حسب المرتبة العلمية
المرتبة العلمية عدد
كلية العلوم 724
كلية الطب 656
كلية التربية 593
كلية العلوم الطبية التطبيقية 499
كلية العلوم الانسانية والاجتماعية 448
كلية ادارة الاعمال 361
كلية علوم الحاسب والمعلومات 361
كلية الصيدلة 328
كلية طب الاسنان 319
كلية الهندسة 309
كلية اللغات وعلومها 279
كلية علوم الاغذية والزراعة 207
العمادات 196
كلية الدراسات التطبيقية وخدمة المجتمع 180
كلية الحقوق والعلوم السياسية 167
كلية العمارة والتخطيط 131
كلية التمريض 130
كلية السياحة والاثار 82
كلية علوم الرياضة والنشاط البدني 75
كلية المجتمع بالرياض 74
الإدارات 69
كلية الفنون 59
كلية الامير سلطان بن عبدالعزيز للخدمات الطبية الطارئة 41
كلية الهندسة التطبيقية 25
كلية علوم الحاسب التطبيقي 20
كلية ادارة الاعمال التطبيقية 15
كلية ادارة الأعمال 2
if (!is.na(f_college)) {
  fac_by_college <- fac %>% count(.data[[f_college]], name = "عدد") %>% arrange(desc(عدد))
  ggplot(fac_by_college, aes(x = reorder(.data[[f_college]], عدد), y = عدد)) +
    geom_col() + coord_flip() +
    labs(title = "عدد أعضاء هيئة التدريس حسب الكلية", x = "الكلية", y = "عدد") +
    theme_minimal()
}

تفسير مفصّل: يوضّح توزيع المراتب هيكل الكتلة الأكاديمية. ارتفاع نسبة “أستاذ مساعد” قد يدلّ على قاعدة شابة تحتاج برامج تطوير وترقية، بينما ارتفاع نسبة “أستاذ” يعكس خبرة متراكمة يمكن توظيفها في الإشراف والبحث.

6 المبتعثون

if (!is.na(s_prog)) {
  schol_by_prog <- schol %>% count(.data[[s_prog]], name = "عدد") %>% arrange(desc(عدد))
  ggplot(schol_by_prog, aes(x = reorder(.data[[s_prog]], عدد), y = عدد)) +
    geom_col() + coord_flip() +
    labs(title = "توزيع المبتعثين حسب المرحلة/البرنامج", x = "المرحلة/البرنامج", y = "عدد") +
    theme_minimal()
}
if (!is.na(s_gender)) {
  schol_by_gender <- schol %>% count(.data[[s_gender]], name = "عدد")
  ggplot(schol_by_gender, aes(x = "", y = عدد, fill = .data[[s_gender]])) +
    geom_col(width = 1, color = "white") + coord_polar(theta = "y") +
    labs(title = "نسبة المبتعثين حسب الجنس", x = NULL, y = NULL) +
    theme_void()
}

if (!is.na(s_country)) {
  schol_by_country <- schol %>% count(.data[[s_country]], name = "عدد") %>% arrange(desc(عدد)) %>% slice_head(n = 15)
  ggplot(schol_by_country, aes(x = reorder(.data[[s_country]], عدد), y = عدد)) +
    geom_col() + coord_flip() +
    labs(title = "أكثر دول الابتعاث (Top 15)", x = "الدولة", y = "عدد") +
    theme_minimal()
}

تفسير مفصّل: تُظهر النتائج تركيز الابتعاث على الدراسات العليا، مع وجهات دولية بارزة (مثل المملكة المتحدة والولايات المتحدة). يُوصى بتوسيع الشراكات الأكاديمية مع هذه الوجهات وبناء مسارات عودة تُسهم في توطين المعرفة.

7 تحليل متعدد الأبعاد (MDS) — تشابه الكليات

# نبني مصفوفة مؤشرات على مستوى "الكلية": خريجون/هيئة_تدريس/مبتعثون (حسب المتوفر)
dfs <- list()
if (!is.na(g_college)) dfs$grads <- grads %>% count(الكلية = .data[[g_college]], name = "خريجون")
if (!is.na(f_college)) dfs$fac   <- fac   %>% count(الكلية = .data[[f_college]], name = "هيئة_تدريس")
s_college <- resolve_col(schol, c("الكلية","College","Faculty","الجهة","القسم","الكلية/القسم"))
if (!is.na(s_college)) dfs$schol <- schol %>% count(الكلية = .data[[s_college]], name = "مبتعثون")

if (length(dfs) >= 2) {
  mat <- Reduce(function(a,b) full_join(a,b, by = "الكلية"), dfs)
  mat <- mat %>% replace_na(list(خريجون = 0, هيئة_تدريس = 0, مبتعثون = 0))
  X <- as.data.frame(mat[, -1]); rownames(X) <- mat$الكلية
  d <- dist(scale(X), method = "euclidean")
  m <- cmdscale(d, k = 2)
  plot(m, type = "n", xlab = "البعد 1", ylab = "البعد 2", main = "MDS — تشابه الكليات")
  text(m, labels = rownames(m))
} else {
  cat("⚠️ يلزم توفر عمود (الكلية) في مصدرين أو أكثر لإجراء MDS.\n")
}

تفسير مفصّل: تقارب النقاط يعني تشابهًا في مزيج المؤشرات (خريجون/هيئة/مبتعثون). يمكن معاملة الكليات المتقاربة بسياسات موحّدة (خطة تدريس/بحث/ابتعاث مشتركة)، بينما تحتاج الكليات البعيدة إلى خطط تفصيلية تراعي خصوصيتها.

8 التوصيات

9 الخاتمة

قدّم التقرير صورة تكاملية عن المخرجات الأكاديمية والابتعاثية والكتلة التدريسية. وتُسهم المؤشرات والرسوم وMDS في تحديد الفجوات والفرص وصياغة قرارات أدق تدعم تنافسية الجامعة وتنسجم مع رؤية 2030.

10 ملاحق

knitr::kable(head(grads, 10), caption = "عينة — بيانات الخريجين (10 صفوف)")
عينة — بيانات الخريجين (10 صفوف)
الجنس الكلية الدرجة
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
أنثى التربية البكالوريوس
knitr::kable(head(fac,   10), caption = "عينة — بيانات أعضاء هيئة التدريس (10 صفوف)")
عينة — بيانات أعضاء هيئة التدريس (10 صفوف)
الجنس الكلية المرتبة العلمية
أنثى أستاذ كلية ادارة الاعمال
أنثى أستاذ كلية ادارة الاعمال
أنثى أستاذ كلية التربية
أنثى أستاذ كلية التربية
أنثى أستاذ كلية التربية
أنثى أستاذ كلية التربية
أنثى أستاذ كلية التربية
أنثى أستاذ كلية التربية
أنثى أستاذ كلية التربية
أنثى أستاذ كلية التربية
knitr::kable(head(schol, 10), caption = "عينة — بيانات المبتعثين (10 صفوف)")
عينة — بيانات المبتعثين (10 صفوف)
الكلية الجنس دولة الابتعاث مؤهل الابتعاث
عمادة السنة الأولى المشتركة أنثى المملكة المتحدة دكتوراه
عمادة السنة الأولى المشتركة أنثى المملكة المتحدة دكتوراه
عمادة السنة الأولى المشتركة أنثى المملكة المتحدة دكتوراه
عمادة السنة الأولى المشتركة أنثى المملكة المتحدة دكتوراه
عمادة السنة الأولى المشتركة ذكر المملكة المتحدة دكتوراه
كلية ادارة الاعمال أنثى استراليا دكتوراه
كلية ادارة الاعمال أنثى استراليا دكتوراه
كلية ادارة الاعمال أنثى المملكة المتحدة دكتوراه
كلية ادارة الاعمال أنثى المملكة المتحدة دكتوراه
كلية ادارة الاعمال أنثى المملكة المتحدة دكتوراه

جميع الحقوق محفوظة © أرقامي 2025

لمزيد من المعلومات، تواصل معنا عبر بريدنا الإلكتروني: argamil2025@gmail.com