Memuat
Memuat
Meta-Analisis (metafor) untuk Informatika dan Sistem Informasi
0 kali dilihat
Penelitian ini bertujuan untuk menggabungkan efek gamifikasi lintas studi dan menguji moderasi oleh durasi intervensi dan ukuran sampel studi, dan analisis diilustrasikan dengan data sintetis. Meta-analisis menggabungkan ukuran efek dari banyak studi primer menjadi satu estimasi efek gabungan, sekaligus menilai heterogenitas antarstudi dan bias publikasi. Cocok untuk tesis/disertasi atau skripsi berbasis tinjauan sistematis yang ingin merangkum bukti kuantitatif dari literatur.

Penelitian ini bertujuan untuk menggabungkan efek gamifikasi lintas studi dan menguji moderasi oleh durasi intervensi dan ukuran sampel studi, dan analisis diilustrasikan dengan data sintetis.
| Peran | Variabel | Satuan |
|---|---|---|
| Utama | Efek gamifikasi | SMD |
| Pendukung 1 | Durasi intervensi | weeks |
| Pendukung 2 | Ukuran sampel studi | persons |
Model efek acak atas 18 studi memberi efek gabungan SMD = 0.418 (95% CI 0.272 sampai 0.563; p < 0.001), I2 = 67.6%, prediction interval -0.103 sampai 0.938. Uji Egger (p = 0.987) tidak menunjukkan bias publikasi; trim-and-fill menduga 0 studi hilang. Durasi intervensi memoderasi efek secara signifikan (slope = 0.0799, p < 0.001).
Dihitung dari data sintetis sebagai ilustrasi, bukan dari penelitian nyata.
Meta-analisis menggabungkan ukuran efek dari banyak studi primer menjadi satu estimasi efek gabungan, sekaligus menilai heterogenitas antarstudi dan bias publikasi. Cocok untuk tesis/disertasi atau skripsi berbasis tinjauan sistematis yang ingin merangkum bukti kuantitatif dari literatur.
Laporkan efek gabungan beserta CI 95% dan nilai p, heterogenitas (Q, tau2, I2; I2 sekitar 25, 50, 75% berarti rendah, sedang, tinggi), dan prediction interval yang menunjukkan rentang efek di studi baru. Tambahkan hasil uji Egger dan trim-and-fill serta koefisien meta-regresi untuk moderator.
Skrip awal singkat dengan nama variabel proyek ini. Versi yang diserahkan disesuaikan dengan data Anda dan diberi komentar lengkap.
# Contoh kode R: Meta-Analysis (metafor)
suppressPackageStartupMessages({
library(ggplot2)
library(patchwork)
library(metafor)
})
set.seed(42)
# ---- Gaya grafik ----
pal <- c("#1f6feb", "#e8590c", "#2f9e44", "#ae3ec9", "#f59f00")
warna <- list(bg = "#f4f6fa", panel = "#ffffff", teks = "#1f2933", redup = "#5f6b78", grid = "#e3e8ee", bar = "#1d3557")
tata <- 1
theme_set(theme_minimal(base_size = 11) + theme(legend.position = "bottom"))
# ---- Data sintetis: ringkasan statistik dari k studi primer ----
k <- sample(15:25, 1)
log_or <- tolower("") == "log or" # ukuran efek: log odds ratio atau SMD
d <- data.frame(studi = sprintf("Studi %02d", 1:k),
n_perlakuan = sample(20:120, k, replace = TRUE),
n_kontrol = sample(20:120, k, replace = TRUE))
d$intervention_duration <- round(pmax(rnorm(k, 50, 10), 0.1 * abs(50)), 1) # moderator utama
d$study_sample_size <- if (grepl("year", tolower(""))) {
sample(2008:2024, k, replace = TRUE)
} else if (grepl("sample|participant", tolower("study_sample_size"))) {
d$n_perlakuan + d$n_kontrol
} else round(pmax(rnorm(k, 30, 6), 0.1 * abs(30)), 1)
mu <- runif(1, 0.25, 0.55) # efek rata-rata sebenarnya
slope <- runif(1, 0.08, 0.2) # pengaruh moderator (per SD)
tau <- runif(1, 0.08, 0.2) # heterogenitas antarstudi
theta <- mu + slope * as.numeric(scale(d$intervention_duration)) + rnorm(k, 0, tau)
if (log_or) {
# kejadian pada kelompok kontrol dan perlakuan (odds kelompok perlakuan dinaikkan exp(2 * theta))
pk <- runif(k, 0.15, 0.4)
pp <- plogis(qlogis(pk) + 2 * theta)
d$kejadian_perlakuan <- rbinom(k, d$n_perlakuan, pp)
d$kejadian_kontrol <- rbinom(k, d$n_kontrol, pk)
es <- metafor::escalc("OR", ai = kejadian_perlakuan, n1i = n_perlakuan, ci = kejadian_kontrol, n2i = n_kontrol,
data = d, add = 0.5, to = "only0")
} else {
# rerata dan simpangan baku dua kelompok pada skala hasil studi
d$sd_perlakuan <- round(runif(k, 8, 14), 2)
d$sd_kontrol <- round(d$sd_perlakuan * runif(k, 0.85, 1.15), 2)
d$rerata_kontrol <- round(runif(k, 40, 70), 2)
d$rerata_perlakuan <- round(d$rerata_kontrol + theta * sqrt((d$sd_perlakuan^2 + d$sd_kontrol^2) / 2) +
rnorm(k, 0, sqrt(d$sd_perlakuan^2 / d$n_perlakuan + d$sd_kontrol^2 / d$n_kontrol)), 2)
es <- metafor::escalc("SMD", m1i = rerata_perlakuan, sd1i = sd_perlakuan, n1i = n_perlakuan,
m2i = rerata_kontrol, sd2i = sd_kontrol, n2i = n_kontrol, data = d)
}
d$gamification_effect <- round(as.numeric(es$yi), 4)
d$varians <- round(as.numeric(es$vi), 5)
write.csv(d, "data_contoh.csv", row.names = FALSE)
# ---- Model efek acak (REML) ----
res <- metafor::rma(yi = gamification_effect, vi = varians, data = d, method = "REML", slab = studi)
print(res)
pr <- predict(res) # efek gabungan + prediction interval
print(pr)
# ---- Bias publikasi: uji Egger dan trim-and-fill ----
eg <- metafor::regtest(res)
print(eg)
tf <- metafor::trimfill(res)
print(tf)
# ---- Meta-regresi dengan moderator intervention_duration ----
mr <- metafor::rma(yi = gamification_effect, vi = varians, mods = ~ intervention_duration, data = d, method = "REML")
print(mr)
# ---- Grafik ----
bobot <- weights(res)
df <- data.frame(studi = sub("Studi", "Study", d$studi), yi = d$gamification_effect, se = sqrt(d$varians), w = bobot)
df$bawah <- df$yi - 1.96 * df$se; df$atas <- df$yi + 1.96 * df$se
df$studi <- factor(df$studi, levels = c("Pooled (RE)", rev(df$studi)))
est <- as.numeric(res$b)
berlian <- data.frame(x = c(res$ci.lb, est, res$ci.ub, est), y = c(1, 1.35, 1, 0.65))
p1 <- ggplot(df, aes(yi, studi)) +
geom_vline(xintercept = 0, colour = warna$redup) +
geom_vline(xintercept = est, colour = pal[2], linetype = "dashed") +
geom_errorbarh(aes(xmin = bawah, xmax = atas), height = 0, colour = warna$redup, linewidth = 0.6) +
geom_point(aes(size = w), shape = 15, colour = pal[1]) +
annotate("segment", x = pr$pi.lb, xend = pr$pi.ub, y = 1, yend = 1, colour = pal[2], linewidth = 0.6) +
geom_polygon(data = berlian, aes(x, y), fill = pal[2], colour = pal[2]) +
scale_size_continuous(range = c(1.2, 4), guide = "none") +
scale_y_discrete(drop = FALSE) +
labs(title = "Forest plot (random effects, REML)", x = "gamification_effect", y = NULL) +
theme(axis.text.y = element_text(size = rel(0.75)))
se_max <- max(df$se) * 1.05
corong <- data.frame(x = c(est - 1.96 * se_max, est, est + 1.96 * se_max), y = c(se_max, 0, se_max))
isi <- if (tf$k0 > 0) data.frame(yi = as.numeric(tf$yi[tf$fill]), se = sqrt(as.numeric(tf$vi[tf$fill]))) else NULL
p2 <- ggplot(df, aes(yi, se)) +
geom_polygon(data = corong, aes(x, y), fill = warna$grid, colour = warna$redup, alpha = 0.6, linetype = "dashed") +
geom_vline(xintercept = est, colour = pal[2]) +
geom_point(colour = pal[1], size = 2, alpha = 0.85) +
scale_y_reverse() +
labs(title = sprintf("Funnel plot (Egger p = %.3f)", eg$pval), x = "gamification_effect", y = "Standard error")
if (!is.null(isi)) p2 <- p2 + geom_point(data = isi, shape = 21, colour = pal[3], fill = NA, size = 2.2, stroke = 1)
gx <- seq(min(d$intervention_duration), max(d$intervention_duration), length.out = 50)
pg <- predict(mr, newmods = gx)
dg <- data.frame(x = gx, m = pg$pred, lo = pg$ci.lb, hi = pg$ci.ub)
p3 <- ggplot() +
geom_ribbon(data = dg, aes(x, ymin = lo, ymax = hi), fill = pal[2], alpha = 0.18) +
geom_line(data = dg, aes(x, m), colour = pal[2], linewidth = 1.1) +
geom_point(data = data.frame(x = d$intervention_duration, y = d$gamification_effect, w = bobot), aes(x, y, size = w),
shape = 21, fill = pal[1], colour = warna$panel, alpha = 0.7) +
scale_size_continuous(range = c(1.5, 7), guide = "none") +
labs(title = "Meta-regression bubble plot", x = "intervention_duration", y = "gamification_effect")
p_hasil <- if (tata == 1) p1 | (p2 / p3) else (p2 / p3) | p1
print(p_hasil)
Berkas proyek aslinya tersedia. Bukan sekadar gambar di atas: Anda mendapat proyek R yang siap dijalankan. Berkas bisa diunduh setelah pembayaran, dan kami kirim lewat WhatsApp atau email.
ZIP: analisis.R + data_contoh.csv + BACA-DULU.txt
Pilih seberapa banyak bantuan yang Anda perlukan. Setiap paket yang lebih tinggi sudah mencakup semua item paket di bawahnya. Harga belum termasuk PPN 11%.
Paket 1
Rp 450.000
belum termasuk PPN 11%
Waktu pengerjaan: 7 hari kerja
Output: Berkas R + gambar hasil
Yang Anda terima
Paket 2 · paling dipilih
Rp 1.350.000
belum termasuk PPN 11%
Waktu pengerjaan: 13 hari kerja
Output: Kode + analisis + bahan interpretasi
Termasuk semua item Paket 1, ditambah
Paket 3
Rp 2.950.000
belum termasuk PPN 11%
Waktu pengerjaan: 18-21 hari kerja
Output: Kode + analisis + pendampingan hingga siap dipresentasikan
Termasuk semua item Paket 1 & 2, ditambah
Ya. Berkas proyek aslinya berupa ZIP berisi skrip analisis.R lengkap, data_contoh.csv, dan petunjuk BACA-DULU.txt. Berkas bisa diunduh setelah pembayaran, dan kami kirim lewat WhatsApp atau email. Untuk data Anda sendiri (Paket 2 dan 3), skrip disesuaikan dengan dataset Anda.
Cocok. Meta-Analisis (metafor) lazim dipakai pada jenjang ini di bidang Informatika dan Sistem Informasi. Analisis kami sesuaikan dengan pertanyaan penelitian, data Anda sendiri, dan ketentuan dosen pembimbing.
Bukan. Lembar hasil dihitung dari data sintetis sebagai ilustrasi jenis keluaran R Studio. Untuk pesanan Anda, metode yang sama dijalankan pada data penelitian Anda sendiri.
Itu tujuan paketnya. Setiap skrip diberi komentar, dan Paket 3 mencakup dua sesi pendampingan serta latihan tanya jawab supaya Anda bisa menjelaskan metode dan hasilnya saat seminar dan sidang.
Tiap proyek punya tiga paket: Paket 1 (kode dan penjelasan) Rp 450.000, Paket 2 (analisis data Anda dan interpretasi) Rp 1.350.000, dan Paket 3 (pendampingan lengkap) Rp 2.950.000, belum termasuk PPN 11%. Data yang besar, metode tambahan, atau tenggat ketat menyesuaikan penawaran setelah konsultasi singkat.
Lembar hasil memakai data sintetis sebagai ilustrasi. R adalah bahasa pemrograman proyek R Foundation; RStudio dan Posit adalah merek dagang Posit PBC.
Kembali ke portofolio R Studio