library(metafor) library(dplyr) rm(list = ls()) data <- read.csv("Sample.csv") vars <- names(data)[3:length(names(data))] results <- as.data.frame(matrix(nrow = 1, ncol = 5)) for (i in vars) { ds = data%>% dplyr::select(contains(i)) ds <- escalc(measure = "COR", ri = ds[,], ni = data$N, data = ds, vtype = "LS") res <- rma(yi, vi, weights = data$N, data = ds, method = "HS") cor.name <- i N <- as.data.frame(sum(res$weights)) comb <- cbind(round(res$b,3), round(res$ci.lb,3), round(res$ci.ub,3), res$k, N$`sum(res$weights)`) results = rbind(results, comb) } colnames(results) <- c("estimate", "lb", "ul", "k", "N") final <- cbind(as.data.frame(vars), results[-1,]) final