CAT təhlillərinə başlamazdan əvvəl sistemin düzgün quraşdırıldığını və bütün lazım olan komponentlərin hazır olduğunu yoxlamaq vacibdir. Bu bölmədə ətraflı sistem yoxlama prosedurlarını öyrənəcəksiniz.
Sistem yoxlaması CAT təhlillərinin uğurlu aparılması üçün kritik əhəmiyyət daşıyır. Bu proses sistem resurslarını, paket uyğunluqlarını və mühitin hazırlığını qiymətləndirir.
# Sistem yoxlaması funksiyası
check_system <- function() {
cat("=== SİSTEM YOXLAMASI ===\n")
# R versiyası
cat("R versiyası:", R.version.string, "\n")
# Platform məlumatı
cat("Platform:", R.version$platform, "\n")
# Paket versiyaları
required_packages <- c("catR", "mirt", "dplyr", "ggplot2", "psych")
for (pkg in required_packages) {
if (require(pkg, character.only = TRUE, quietly = TRUE)) {
cat("✓", pkg, "versiyası:", as.character(packageVersion(pkg)), "\n")
} else {
cat("✗", pkg, "quraşdırılmayıb!\n")
}
}
cat("Sistem hazırdır! ✅\n")
}
# Yoxlamanı çalıştırın
check_system()
## === SİSTEM YOXLAMASI ===
## R versiyası: R version 4.2.3 (2023-03-15)
## Platform: x86_64-apple-darwin17.0
## ✓ catR versiyası: 3.17
## ✓ mirt versiyası: 1.41
## ✓ dplyr versiyası: 1.1.4
## ✓ ggplot2 versiyası: 3.5.2
## ✓ psych versiyası: 2.4.3
## Sistem hazırdır! ✅
# Ətraflı sistem yoxlama funksiyası
detailed_system_check <- function() {
cat("=== ƏTRAFLI SİSTEM YOXLAMASI ===\n\n")
# 1. R Mühiti
cat("--- R MÜHİTİ ---\n")
cat("R versiyası:", R.version.string, "\n")
cat("Platform:", R.version$platform, "\n")
cat("İşləm sistemi:", Sys.info()["sysname"], "\n")
cat("Arxitektura:", Sys.info()["machine"], "\n")
cat("İstifadəçi:", Sys.info()["user"], "\n\n")
# 2. Yaddaş Məlumatları
cat("--- YADDAŞ MƏLUMATLAri ---\n")
# Windows üçün memory.size() mövcuddur
if (.Platform$OS.type == "windows") {
try({
cat("Mövcud yaddaş:", round(memory.size()/1024, 2), "GB\n")
cat("Maksimum yaddaş:", round(memory.limit()/1024, 2), "GB\n")
}, silent = TRUE)
} else {
cat("Yaddaş məlumatı Unix/Linux sistemlərdə məhduddur\n")
}
# Cari iş qovluğu
cat("İş qovluğu:", getwd(), "\n\n")
# 3. Paket Yoxlaması
cat("--- PAKET YOXLAMASI ---\n")
required_packages <- c("catR", "mirt", "dplyr", "ggplot2", "psych",
"knitr", "rmarkdown")
package_status <- data.frame(
Package = character(),
Status = character(),
Version = character(),
stringsAsFactors = FALSE
)
for (pkg in required_packages) {
if (require(pkg, character.only = TRUE, quietly = TRUE)) {
status <- "✓ Quraşdırılıb"
version <- as.character(packageVersion(pkg))
cat("✓", pkg, "versiyası:", version, "\n")
} else {
status <- "✗ Quraşdırılmayıb"
version <- "N/A"
cat("✗", pkg, "quraşdırılmayıb!\n")
}
package_status <- rbind(package_status,
data.frame(Package = pkg,
Status = status,
Version = version))
}
cat("\n--- XÜLASƏ ---\n")
installed_count <- sum(grepl("✓", package_status$Status))
total_count <- nrow(package_status)
cat("Quraşdırılmış paketlər:", installed_count, "/", total_count, "\n")
if (installed_count == total_count) {
cat("🎉 Bütün paketlər hazırdır!\n")
return(TRUE)
} else {
cat("⚠️ Bəzi paketlər quraşdırılmalıdır!\n")
return(FALSE)
}
}
# Ətraflı yoxlamanı çalıştırın
system_ready <- detailed_system_check()
## === ƏTRAFLI SİSTEM YOXLAMASI ===
##
## --- R MÜHİTİ ---
## R versiyası: R version 4.2.3 (2023-03-15)
## Platform: x86_64-apple-darwin17.0
## İşləm sistemi: Darwin
## Arxitektura: x86_64
## İstifadəçi: royatalibova
##
## --- YADDAŞ MƏLUMATLAri ---
## Yaddaş məlumatı Unix/Linux sistemlərdə məhduddur
## İş qovluğu: /Users/royatalibova/Desktop/CAT
##
## --- PAKET YOXLAMASI ---
## ✓ catR versiyası: 3.17
## ✓ mirt versiyası: 1.41
## ✓ dplyr versiyası: 1.1.4
## ✓ ggplot2 versiyası: 3.5.2
## ✓ psych versiyası: 2.4.3
## ✓ knitr versiyası: 1.50
## ✓ rmarkdown versiyası: 2.29
##
## --- XÜLASƏ ---
## Quraşdırılmış paketlər: 7 / 7
## 🎉 Bütün paketlər hazırdır!
# Performans testi funksiyası
performance_test <- function() {
cat("=== PERFORMANS TESTİ ===\n")
# Sadə matriks əməliyyatları
cat("Matriks hesablama testi başlayır...\n")
start_time <- Sys.time()
# 1000x1000 təsadüfi matriks yaradın
set.seed(123)
matrix_a <- matrix(rnorm(1000000), nrow = 1000, ncol = 1000)
matrix_b <- matrix(rnorm(1000000), nrow = 1000, ncol = 1000)
# Matriks vurma
result <- matrix_a %*% matrix_b
end_time <- Sys.time()
computation_time <- as.numeric(end_time - start_time)
cat("Matriks vurma müddəti:", round(computation_time, 3), "saniyə\n")
# Performans qiymətləndirilməsi
if (computation_time < 1) {
cat("✅ Yüksək performans\n")
performance_level <- "Yüksək"
} else if (computation_time < 3) {
cat("⚡ Orta performans\n")
performance_level <- "Orta"
} else {
cat("⚠️ Aşağı performans\n")
performance_level <- "Aşağı"
}
return(list(time = computation_time, level = performance_level))
}
# Performans testini çalıştırın
perf_result <- performance_test()
## === PERFORMANS TESTİ ===
## Matriks hesablama testi başlayır...
## Matriks vurma müddəti: 0.813 saniyə
## ✅ Yüksək performans
# CAT spesifik performans testi
cat_performance_test <- function() {
cat("\n=== CAT PERFORMANS TESTİ ===\n")
# catR paketi ilə sadə test
if (require(catR, quietly = TRUE)) {
cat("catR performans testi başlayır...\n")
start_time <- Sys.time()
# Sadə item bankı yaradın
set.seed(123)
bank <- cbind(
a = rlnorm(100, 0, 0.3), # Discriminasiya parametri
b = rnorm(100, 0, 1), # Çətinlik parametri
c = runif(100, 0.1, 0.3) # Təsadüfi cavablama parametri
)
# Sadə CAT simulyasiyası
try({
cat_result <- catR::simulateCat(
bank = bank,
theta = rnorm(10, 0, 1),
criterion = "MLE",
method = "BM",
range = c(-4, 4)
)
end_time <- Sys.time()
cat_time <- as.numeric(end_time - start_time)
cat("CAT simulyasiya müddəti:", round(cat_time, 3), "saniyə\n")
if (cat_time < 2) {
cat("✅ CAT performansı yüksəkdir\n")
} else {
cat("⚠️ CAT performansı yavaşdır\n")
}
return(cat_time)
}, silent = TRUE)
} else {
cat("❌ catR paketi əlçatan deyil\n")
return(NULL)
}
}
# CAT performans testini çalıştırın
cat_perf <- cat_performance_test()
##
## === CAT PERFORMANS TESTİ ===
## catR performans testi başlayır...
# Paket versiya uyğunluğu yoxlaması
check_version_compatibility <- function() {
cat("\n=== VERSİYA UYĞUNLUĞU ===\n")
# Minimum tələb edilən versiyalar
min_versions <- list(
catR = "3.16",
mirt = "1.30",
dplyr = "1.0.0",
ggplot2 = "3.3.0",
psych = "2.0.0"
)
compatibility_issues <- c()
for (pkg_name in names(min_versions)) {
if (require(pkg_name, character.only = TRUE, quietly = TRUE)) {
current_version <- as.character(packageVersion(pkg_name))
min_version <- min_versions[[pkg_name]]
# Versiya müqayisəsi (sadə string müqayisəsi)
version_ok <- compareVersion(current_version, min_version) >= 0
if (version_ok) {
cat("✅", pkg_name, ":", current_version, "(minimum:", min_version, ")\n")
} else {
cat("⚠️", pkg_name, ":", current_version, "< minimum:", min_version, "\n")
compatibility_issues <- c(compatibility_issues, pkg_name)
}
} else {
cat("❌", pkg_name, ": Quraşdırılmayıb\n")
compatibility_issues <- c(compatibility_issues, pkg_name)
}
}
if (length(compatibility_issues) == 0) {
cat("\n🎉 Bütün paketlər uyğundur!\n")
return(TRUE)
} else {
cat("\n⚠️ Problemli paketlər:", paste(compatibility_issues, collapse = ", "), "\n")
return(FALSE)
}
}
# Versiya uyğunluğunu yoxlayın
version_ok <- check_version_compatibility()
##
## === VERSİYA UYĞUNLUĞU ===
## ✅ catR : 3.17 (minimum: 3.16 )
## ✅ mirt : 1.41 (minimum: 1.30 )
## ✅ dplyr : 1.1.4 (minimum: 1.0.0 )
## ✅ ggplot2 : 3.5.2 (minimum: 3.3.0 )
## ✅ psych : 2.4.3 (minimum: 2.0.0 )
##
## 🎉 Bütün paketlər uyğundur!
# Paket asılılıqlarının yoxlanması
check_dependencies <- function() {
cat("\n=== ASıLıLıQ YOXLAMASI ===\n")
# Kritik asılılıqları yoxlayın
critical_deps <- c("methods", "stats", "utils", "graphics", "grDevices")
all_deps_ok <- TRUE
for (dep in critical_deps) {
if (require(dep, character.only = TRUE, quietly = TRUE)) {
cat("✅", dep, "mövcuddur\n")
} else {
cat("❌", dep, "əlçatan deyil\n")
all_deps_ok <- FALSE
}
}
return(all_deps_ok)
}
deps_ok <- check_dependencies()
##
## === ASıLıLıQ YOXLAMASI ===
## ✅ methods mövcuddur
## ✅ stats mövcuddur
## ✅ utils mövcuddur
## ✅ graphics mövcuddur
## ✅ grDevices mövcuddur
# R konfiqurasiya parametrlərinin yoxlanması
check_r_configuration <- function() {
cat("\n=== R KONFİQURASİYASI ===\n")
# Kritik parametrlər
cat("Maksimum çap elementləri:", getOption("max.print"), "\n")
cat("Digits:", getOption("digits"), "\n")
cat("Scipen:", getOption("scipen"), "\n")
cat("Width:", getOption("width"), "\n")
# Grafik parametrləri
if (capabilities("png")) {
cat("✅ PNG dəstəyi mövcuddur\n")
} else {
cat("⚠️ PNG dəstəyi yoxdur\n")
}
if (capabilities("cairo")) {
cat("✅ Cairo dəstəyi mövcuddur\n")
} else {
cat("⚠️ Cairo dəstəyi yoxdur\n")
}
# Paralel emal dəstəyi
cat("CPU nüvələri:", parallel::detectCores(), "\n")
}
check_r_configuration()
##
## === R KONFİQURASİYASI ===
## Maksimum çap elementləri: 99999
## Digits: 7
## Scipen: 0
## Width: 80
## ✅ PNG dəstəyi mövcuddur
## ✅ Cairo dəstəyi mövcuddur
## CPU nüvələri: 12
# CAT spesifik konfiqurasiya yoxlaması
check_cat_configuration <- function() {
cat("\n=== CAT KONFİQURASİYASI ===\n")
# Əvvəlki bölmələrdən parametrləri yükləyin
if (exists("TOTAL_ITEMS")) {
cat("✅ Sistem parametrləri təyin edilib\n")
cat(" - Ümumi tapşırıq sayı:", TOTAL_ITEMS, "\n")
cat(" - Test aralığı:", MIN_ITEMS, "-", MAX_ITEMS, "\n")
cat(" - SE həddi:", SE_THRESHOLD, "\n")
} else {
cat("⚠️ Sistem parametrləri təyin edilməyib\n")
cat(" Bölmə 2-ni çalıştırın\n")
}
# Seed yoxlaması
if (exists(".Random.seed")) {
cat("✅ Təsadüfi seed təyin edilib\n")
} else {
cat("⚠️ Seed təyin edilməyib\n")
set.seed(12345)
cat(" Avtomatik seed təyin edildi: 12345\n")
}
}
check_cat_configuration()
##
## === CAT KONFİQURASİYASI ===
## ⚠️ Sistem parametrləri təyin edilməyib
## Bölmə 2-ni çalıştırın
## ✅ Təsadüfi seed təyin edilib
# Əhatəli sistem yoxlaması
comprehensive_system_check <- function() {
cat("\n" , paste(rep("=", 50), collapse=""), "\n")
cat(" ƏHATƏLI SİSTEM YOXLAMASI\n")
cat(paste(rep("=", 50), collapse=""), "\n\n")
# Bütün yoxlamaları birləşdirin
results <- list()
# 1. Əsas sistem
cat("1. ƏSAS SİSTEM YOXLAMASI\n")
results$basic <- detailed_system_check()
# 2. Performans
cat("\n2. PERFORMANS YOXLAMASI\n")
perf <- performance_test()
results$performance <- perf$level
# 3. CAT performans
cat("\n3. CAT PERFORMANS YOXLAMASI\n")
results$cat_performance <- cat_performance_test()
# 4. Versiya uyğunluğu
cat("\n4. VERSİYA UYĞUNLUĞU\n")
results$version_compatibility <- check_version_compatibility()
# 5. Asılılıqlar
cat("\n5. ASıLıLıQ YOXLAMASI\n")
results$dependencies <- check_dependencies()
# 6. Konfiqurasiya
cat("\n6. KONFİQURASİYA YOXLAMASI\n")
check_r_configuration()
check_cat_configuration()
# Final qiymətləndirilmə
cat("\n", paste(rep("=", 50), collapse=""), "\n")
cat(" FİNAL NƏTİCƏ\n")
cat(paste(rep("=", 50), collapse=""), "\n")
issues <- 0
if (!results$basic) issues <- issues + 1
if (!results$version_compatibility) issues <- issues + 1
if (!results$dependencies) issues <- issues + 1
if (issues == 0) {
cat("🎉 SİSTEM TAM HAZIRDIR! 🎉\n")
cat("CAT təhlillərinə başlaya bilərsiniz.\n")
system_status <- "HAZIR"
} else if (issues == 1) {
cat("⚠️ SİSTEM ƏSASƏN HAZIRDIR\n")
cat("Kiçik problemlər var, lakin davam edə bilərsiniz.\n")
system_status <- "ƏSASƏN HAZIR"
} else {
cat("❌ SİSTEM PROBLEMLİDİR\n")
cat("Problemləri həll etdikdən sonra davam edin.\n")
system_status <- "PROBLEMLİ"
}
cat("\nSistem statusu:", system_status, "\n")
cat("Problemlərin sayı:", issues, "\n")
cat("Tarix:", as.character(Sys.time()), "\n")
return(list(status = system_status, issues = issues, details = results))
}
# Əhatəli sistem yoxlamasını çalıştırın
final_check <- comprehensive_system_check()
##
## ==================================================
## ƏHATƏLI SİSTEM YOXLAMASI
## ==================================================
##
## 1. ƏSAS SİSTEM YOXLAMASI
## === ƏTRAFLI SİSTEM YOXLAMASI ===
##
## --- R MÜHİTİ ---
## R versiyası: R version 4.2.3 (2023-03-15)
## Platform: x86_64-apple-darwin17.0
## İşləm sistemi: Darwin
## Arxitektura: x86_64
## İstifadəçi: royatalibova
##
## --- YADDAŞ MƏLUMATLAri ---
## Yaddaş məlumatı Unix/Linux sistemlərdə məhduddur
## İş qovluğu: /Users/royatalibova/Desktop/CAT
##
## --- PAKET YOXLAMASI ---
## ✓ catR versiyası: 3.17
## ✓ mirt versiyası: 1.41
## ✓ dplyr versiyası: 1.1.4
## ✓ ggplot2 versiyası: 3.5.2
## ✓ psych versiyası: 2.4.3
## ✓ knitr versiyası: 1.50
## ✓ rmarkdown versiyası: 2.29
##
## --- XÜLASƏ ---
## Quraşdırılmış paketlər: 7 / 7
## 🎉 Bütün paketlər hazırdır!
##
## 2. PERFORMANS YOXLAMASI
## === PERFORMANS TESTİ ===
## Matriks hesablama testi başlayır...
## Matriks vurma müddəti: 0.764 saniyə
## ✅ Yüksək performans
##
## 3. CAT PERFORMANS YOXLAMASI
##
## === CAT PERFORMANS TESTİ ===
## catR performans testi başlayır...
##
## 4. VERSİYA UYĞUNLUĞU
##
## === VERSİYA UYĞUNLUĞU ===
## ✅ catR : 3.17 (minimum: 3.16 )
## ✅ mirt : 1.41 (minimum: 1.30 )
## ✅ dplyr : 1.1.4 (minimum: 1.0.0 )
## ✅ ggplot2 : 3.5.2 (minimum: 3.3.0 )
## ✅ psych : 2.4.3 (minimum: 2.0.0 )
##
## 🎉 Bütün paketlər uyğundur!
##
## 5. ASıLıLıQ YOXLAMASI
##
## === ASıLıLıQ YOXLAMASI ===
## ✅ methods mövcuddur
## ✅ stats mövcuddur
## ✅ utils mövcuddur
## ✅ graphics mövcuddur
## ✅ grDevices mövcuddur
##
## 6. KONFİQURASİYA YOXLAMASI
##
## === R KONFİQURASİYASI ===
## Maksimum çap elementləri: 99999
## Digits: 7
## Scipen: 0
## Width: 80
## ✅ PNG dəstəyi mövcuddur
## ✅ Cairo dəstəyi mövcuddur
## CPU nüvələri: 12
##
## === CAT KONFİQURASİYASI ===
## ⚠️ Sistem parametrləri təyin edilməyib
## Bölmə 2-ni çalıştırın
## ✅ Təsadüfi seed təyin edilib
##
## ==================================================
## FİNAL NƏTİCƏ
## ==================================================
## 🎉 SİSTEM TAM HAZIRDIR! 🎉
## CAT təhlillərinə başlaya bilərsiniz.
##
## Sistem statusu: HAZIR
## Problemlərin sayı: 0
## Tarix: 2025-07-12 18:41:14
# Sistem hazırlığı hesabatı
generate_readiness_report <- function(check_results) {
cat("\n" , paste(rep("=", 60), collapse=""), "\n")
cat(" SİSTEM HAZIRLIĞI HESABATI\n")
cat(paste(rep("=", 60), collapse=""), "\n\n")
# Hazırlıq balı hesablayın
total_score <- 0
max_score <- 5
if (check_results$details$basic) total_score <- total_score + 1
if (check_results$details$version_compatibility) total_score <- total_score + 1
if (check_results$details$dependencies) total_score <- total_score + 1
if (check_results$details$performance == "Yüksək") total_score <- total_score + 1
if (!is.null(check_results$details$cat_performance)) total_score <- total_score + 1
readiness_percentage <- round((total_score / max_score) * 100)
cat("Hazırlıq balı:", total_score, "/", max_score, "\n")
cat("Hazırlıq faizi:", readiness_percentage, "%\n\n")
# Tövsiyələr
cat("TOVSİYƏLƏR:\n")
if (readiness_percentage >= 80) {
cat("✅ Sistem CAT təhlilləri üçün hazırdır\n")
cat("✅ Bütün modullarla işləyə bilərsiniz\n")
} else if (readiness_percentage >= 60) {
cat("⚡ Sistem əsas CAT təhlilləri üçün hazırdır\n")
cat("⚠️ Bəzi qabaqcıl xüsusiyyətlərdə problem ola bilər\n")
} else {
cat("❌ Sistem CAT təhlilləri üçün tam hazır deyil\n")
cat("🔧 Problemləri həll etdikdən sonra yenidən yoxlayın\n")
}
return(readiness_percentage)
}
# Hazırlıq hesabatını yaradın
readiness_score <- generate_readiness_report(final_check)
##
## ============================================================
## SİSTEM HAZIRLIĞI HESABATI
## ============================================================
##
## Hazırlıq balı: 5 / 5
## Hazırlıq faizi: 100 %
##
## TOVSİYƏLƏR:
## ✅ Sistem CAT təhlilləri üçün hazırdır
## ✅ Bütün modullarla işləyə bilərsiniz
Bu bölmədə CAT sistemləri üçün ətraflı sistem yoxlama prosedurlarını öyrəndik. Sistem yoxlaması CAT təhlillərinin uğurlu aparılması üçün mütləq lazımdır.
Sistem hazır olduqdan sonra:
Bölmə 4: Item Response Theory (IRT) Modellərinin Qurulması
Bölmə 5: Item Bankının Hazırlanması
Bölmə 6: CAT Simulyasiyalarının Aparılması
Qeyd: Sistem yoxlamasını hər CAT layihəsinin əvvəlində aparın və problemləri həll etdikdən sonra təkrarlayın.