<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7638.1">
<TITLE>Mediator must be a number</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Dear Subscribers,<BR>
<BR>
I copy the solution that Kentaro very kindly found for the problem I posted on the 19th of September:<BR>
<BR>
<BR>
Hi Angel,<BR>
<BR>
 You have to change the mediator into number like 0 and 1.<BR>
<BR>
 ---------------------------------------------------------------------------<BR>
 library("mediation")<BR>
 library("sandwich")<BR>
 set.seed(2014)<BR>
<BR>
 load("~/Desktop/kentaro.rda")<BR>
<BR>
 kentaro$estudic.new <- 0<BR>
 kentaro$estudic.new[kentaro$estudic == "Menos que primarios"] <- 1<BR>
 kentaro$estudic <- kentaro$estudic.new<BR>
<BR>
 med.fit <- glm(estudic ~ edad_c + sexo + regalf + deprinf, family="binomial" ,data=kentaro)<BR>
 out.fit <- glm(benvii ~ edad_c + sexo + regalf + deprinf + estudic, family="binomial" ,data=kentaro)<BR>
<BR>
 med.out <- mediate(med.fit, out.fit, treat = "deprinf", mediator = "estudic", robustSE = TRUE, sims = 100, control.value = "no", treat.value = "s\xed")<BR>
 summary(med.out)<BR>
 ---------------------------------------------------------------------------<BR>
<BR>
 Best,<BR>
 Kentaro<BR>
<BR>
<BR>
<BR>
Now, with the same database but this time using a multimed procedure, I encounter this problem:<BR>
<BR>
> Xnames <- c("edad_c", "sexo", "regalf")<BR>
> m.med <- multimed(outcome = "benvii", med.main = "p207dic", med.alt = "estuprimas", treat = "deprinf", covariates = Xnames, data = child65, sims = 1000)<BR>
Error: variable 'deprinf' was fitted with type "factor" but type "numeric" was supplied<BR>
In addition: Warning messages:<BR>
1: In Ops.factor(data.1[, med.main], 2) : ^ not meaningful for factors<BR>
2: In Ops.factor(data.1[, treat], data.1[, med.main]^2) :<BR>
  * not meaningful for factors<BR>
3: In model.response(mf, "numeric") :<BR>
  using type = "numeric" with a factor response will be ignored<BR>
4: In Ops.factor(y, z$residuals) : - not meaningful for factors<BR>
5: In model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :<BR>
  variable 'deprinf' is not a factor<BR>
> str(child65$deprinf)<BR>
 Factor w/ 2 levels "no","sí": 1 2 2 2 1 2 2 1 1 1 ...<BR>
<BR>
<BR>
So, deprinf is a factor but is considered numeric by multimed.<BR>
<BR>
Any clue?<BR>
<BR>
Thank you very much.<BR>
<BR>
Angel Rodríguez Laso<BR>
<BR>
-----Mensaje original-----<BR>
De: Kentaro Hirose [<A HREF="mailto:hirose@Princeton.EDU">mailto:hirose@Princeton.EDU</A>]<BR>
Enviado el: vie 19/09/2014 14:33<BR>
Para: Angel Rodriguez; mediation-information@r-forge.wu-wien.ac.at<BR>
Asunto: RE: [Mediation-information] (no subject)<BR>
<BR>
I guess it's somehow related to the data you're using. I'll figure out the problem if you send me a small subset of your data and code.<BR>
<BR>
<BR>
Best,<BR>
Kentaro<BR>
<BR>
<BR>
________________________________________<BR>
From: Angel Rodriguez [angel.rodriguez@matiainstituto.net]<BR>
Sent: Friday, September 19, 2014 8:22 AM<BR>
To: Kentaro Hirose; mediation-information@r-forge.wu-wien.ac.at<BR>
Subject: RE: [Mediation-information] (no subject)<BR>
<BR>
Thank you, Kentaro. The treatment variable has two values only. With your command that warning disappears but, what about the error:<BR>
<BR>
Error in if (xhat == 0) out <- 1 else { :<BR>
  missing value where TRUE/FALSE needed<BR>
<BR>
?<BR>
Angel<BR>
<BR>
<BR>
<BR>
________________________________<BR>
De: mediation-information-bounces@lists.r-forge.r-project.org en nombre de Kentaro Hirose<BR>
Enviado el: vie 19/09/2014 14:17<BR>
Para: mediation-information@r-forge.wu-wien.ac.at<BR>
Asunto: Re: [Mediation-information] (no subject)<BR>
<BR>
<BR>
Hi Angel,<BR>
<BR>
The warning message "treatment and control values do not match factor levels" pops up when your treatment has more than two values but you don't specify the specific values of the treatment that you're interested when deriving the treatment effect. So, for example, if you're interested in the treatment effect when the value of the treatment changes from no to si, then you should use the following command:<BR>
<BR>
med.out <- mediate(med.fit, out.fit, treat = "deprinf", mediator = "estudic", robustSE = TRUE, sims = 100, control.value = "no", treat.value = "si")<BR>
<BR>
<BR>
Best,<BR>
Kentaro<BR>
<BR>
<BR>
<BR>
________________________________________<BR>
From: mediation-information-bounces@r-forge.wu-wien.ac.at [mediation-information-bounces@r-forge.wu-wien.ac.at] on behalf of Angel Rodriguez [angel.rodriguez@matiainstituto.net]<BR>
Sent: Friday, September 19, 2014 7:15 AM<BR>
To: mediation-information@r-forge.wu-wien.ac.at<BR>
Subject: Re: [Mediation-information] (no subject)<BR>
<BR>
Dear Subscribers,<BR>
<BR>
I've encountered the following error message. Edad_c is numeric. Estudic, sexo, deprinf and benvii are dichotomic. Regalf has three categories.<BR>
<BR>
Any help would be very valuable.<BR>
<BR>
Best regards,<BR>
<BR>
Angel Rodriguez-Laso<BR>
<BR>
<BR>
> med.fit <- glm(estudic ~ edad_c + sexo + regalf + deprinf, family="binomial" ,data=child65)<BR>
> out.fit <- glm(benvii ~ edad_c + sexo + regalf + deprinf + estudic, family="binomial" ,data=child65)<BR>
> library("mediation")<BR>
Loading required package: MASS<BR>
Loading required package: Matrix<BR>
Loading required package: lpSolve<BR>
Loading required package: mvtnorm<BR>
mediation: Causal Mediation Analysis<BR>
Version: 4.4.2<BR>
<BR>
> library("sandwich")<BR>
> set.seed(2014)<BR>
> med.out <- mediate(med.fit, out.fit, treat = "deprinf", mediator = "estudic", robustSE = TRUE, sims = 100)<BR>
Error in if (xhat == 0) out <- 1 else { :<BR>
  missing value where TRUE/FALSE needed<BR>
In addition: Warning message:<BR>
In mediate(med.fit, out.fit, treat = "deprinf", mediator = "estudic",  :<BR>
  treatment and control values do not match factor levels; using no and sí as control and treatment, respectively<BR>
<BR>
________________________________<BR>
_______________________________________________<BR>
Mediation-information mailing list<BR>
Mediation-information@lists.r-forge.r-project.org<BR>
<A HREF="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/mediation-information">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/mediation-information</A><BR>
<BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>