不好意思我又来了

请问您了解中介效应分析吗,我用mediation进行中介效应分析,但是总是报错:
Error in mediate(a, b, treat = "fertilization", mediator = "tpoab_1", :
number of observations do not match between mediator and outcome models
我的代码如下:
a <- glm(M~X,family = binomial(),data = mydata)
b <- lm(Y~X+M,data = mydata)
library(mediation)
set.seed(123)
result = mediate(a,b,treat="X",mediator = "M",boot = T)
一开始我以为时a,b必须要一致(要么都是直线回归要么都是logistic回归)然后我就把数据调整一下是他们一致,但是还是报错。请问这是怎么一回事,该如何解决呢?谢谢您!