# Lik
lik.logit <- function(init,y,x) 
  {
  x = as.matrix(x)
  cste<- rep(1,length(x[,1]))
  x <- cbind(cste,x) # Matrix of predictors
  d <- init[1:ncol(x) ] # Number of parameters
  xd<- x%*%d # Produit matriciel  
  sum( y*log(1+exp(-xd)) + (1-y)*log(1+exp(xd))) 
}

fit.logis <-function(y,x)
{
  init=c(0,1)
  logit.opt <- optim(init,lik.logit,y=y,x=x,hessian = T)
  coef.est <- logit.opt$par
  varcov = solve(logit.opt$hessian)
  et.est = sqrt(diag(varcov))
  res<-data.frame(cbind(round(coef.est,3), round(et.est,3))) # Estimation des coefs + ecarts-type
  rownames(res)<-letters[1:length(coef.est)]
  colnames(res)<-c("coef.est", "std.err")
  return(res) 
}
Test = fit.logis(y=don$GROUPE,x=don$TAILLE)