[R-meta] When and how to use 'obs' vs 'type' in vcalc

Brendan Pearl brend@n @end|ng |rom brend@n@-b|t@@com
Sun Oct 1 10:55:53 CEST 2023


Hello,

I am trying to work out when to use "obs" vs "type" in vcalc when creating a V matrix from a long series of odds ratio effect sizes. Each article within the dataset reports multiple effect sizes (each is a predictor-outcome pair), and each article is nested within a larger dataset (i.e. some studies have used overlapping samples).
For background: I plan to run a multivariate analysis (and then obtain robust cluster estimates) using this code:
res_multivariate <- rma.mv(yi=yi,
V,
data=dat,
random = ~1 | DATASET/STUDY,
mods = ~ factor(RELATIONSHIP)-1,
method = "REML" )

Question 1: Which is the 'correct' variable to set in vcalc ('obs' or 'type')? I get the exact same V matrix regardless of whether I use obs or type. This is the code I am running (changing the obs/type variable):
V <- vcalc(vi, cluster=DATASET, subgroup = STUDY, data=dat, rho=0.6, obs = es.id3)

Question 2: What is the 'correct' way to label the obs/type?
1: Unique number to each extracted effect size within each article? (e.g. es.id1)
2: The same number to each row that has the same predictor-outcome pair? (e.g. es.id2)
3: A unique number to each extracted effect size across the whole dataset? (e.g. es.id3)

For reference: the following is a representation of my dataset with effect sizes and sampling variances removed for brevity:

structure(list(DATASET = c("Dataset_A", "Dataset_A", "Dataset_B",
"Dataset_A", "Dataset_A", "Dataset_B", "Dataset_A", "Dataset_B",
"Dataset_B", "Dataset_A", "Dataset_A", "Dataset_B"), STUDY = c("Study_A",
"Study_B", "Study_D", "Study_A", "Study_B", "Study_E", "Study_A",
"Study_D", "Study_F", "Study_A", "Study_C", "Study_F"), OUTCOME = c("Homelessness",
"Homelessness", "Homelessness", "Incarceration", "Incarceration",
"Incarceration", "Homelessness", "Homelessness", "Homelessness",
"Incarceration", "Incarceration", "Incarceration"), PREDICTOR = c("Female",
"Female", "Female", "Female", "Female", "Female", "Younger_Older",
"Younger_Older", "Younger_Older", "Younger_Older", "Younger_Older",
"Younger_Older"), es.id1 = c(1, 1, 1, 3, 2, 1, 2, 2, 2, 4, 1,
1), es.id2 = c(1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4), es.id3 = c(1,
5, 8, 3, 6, 10, 2, 9, 12, 4, 7, 11)), row.names = c(NA, -12L), class = c("tbl_df",
"tbl", "data.frame"))
	[[alternative HTML version deleted]]



More information about the R-sig-meta-analysis mailing list