I have 30 datasets that are conbined in a data list. I wanted to analyze spatial point pattern by L function along with randomisation test. Codes are following. 
The first code works well for a single dataset (data1) but once it is applied to a list of dataset with lapply() function as shown in 2nd code, it gives me a very long error like so, 
"Error in Kcross(X, i, j, ...) : No points have mark i = Acoraceae Error in envelopeEngine(X = X, fun = fun, simul = simrecipe, nsim = nsim, : Exceeded maximum number of errors"
Can anybody tell me what is wrong with 2nd code?
 grp <- factor(data1$species)               
 window <- ripras(data1$utmX, data1$utmY)      
 pp.grp <- ppp(data1$utmX, data1$utmY, window=window, marks=grp) 
 L.grp  <- alltypes(pp.grp, Lest, correlation = "Ripley")
 LE.grp <- alltypes(pp.grp, Lcross, nsim = 100, envelope = TRUE)  
 plot(L.grp)
 plot(LE.grp)
 L.LE.sp <- lapply(data.list, function(x) { 
   grp <- factor(x$species)               
   window <- ripras(x$utmX, x$utmY)
   pp.grp <- ppp(x$utmX, x$utmY, window = window, marks = grp)  
   L.grp  <- alltypes(pp.grp, Lest, correlation = "Ripley")
   LE.grp <- alltypes(pp.grp, Lcross, envelope = TRUE)  
   result <- list(L.grp=L.grp, LE.grp=LE.grp)
   return(result)
 })
 plot(L.LE.sp$LE.grp[1])
 
    