Hello here. I am new to R but I want to do mediation analysis on complex survey data using med.fit.brr in the medsurvey package. I did some reading about this method. The method requires use of Balanced Replication weights. In my data, I have the normal survey design elements (psu, strata and weight variables).
I tried to use this to create balanced replication weights;
meddesign<-svydesign(data=med,
id=~psu, strata=~kstrata,
weights=~pooled_wt2, nest=TRUE)
med.brr<-
as.svrepdesign(
meddesign ,
type = "BRR" ,
mse = TRUE ,
compress = FALSE)
I got this error:-
# Error in brrweights(design$strata[, 1], design$cluster[, 1], ..., fay.rho = fay.rho, :
# Can't split with odd numbers of PSUs in a stratum
Qn1. How can I address this?
To try to solve this, I used the Jackknife replication for stratified samples;
med.Jkn<-
as.svrepdesign(
meddesign ,
type = "JKn" ,
mse = TRUE ,
compress = FALSE)
And weights were successfully created and named "repweights".
I then tried to use these weights to run mediation analysis using the med.fit.BRR;
# Specification of the model
model2<- '# outcome
HE_glu~ u0*1 + c*diinormal + b*HE_hsCRP + age+ sex+ N_EN + DM_fh + HE_HP
# mediator
HE_hsCRP~ u1*1 + a*diinormal +age +sex+ N_EN+HE_BMI+HE_HP+DM_fh
# indirect effect (a*b)
ab := a*b
# total effect
total := c + (a*b) '
# Mediation analysis
Fit.brr<-med.fit.BRR(model=model2, data=med,
mwgtname= pooled_wt2,
repwgtnames= repweights,
fayfactor=0.5, parallel='parallel', ncore=2)
I got this error
# Error in med.fit.BRR(model = model2, data = med, mwgtname = pooled_wt2, : value of HE_gluis not numerical
I am sorry it is a long procedure but I am kindly requesting for assistance.