#' Iterates over objects
#'
#' @export
iterateObs <- function(sub_index, type, cutoff, ...) {
    if(type == "spatial" & balanced_pnl) {
        sub_dt <- dt[time == sub_index]
        n1 <- nrow(sub_dt)
        if(n1 > 1000 & verbose){message(paste("Starting on sub index:", sub_index))}
        X <- as.matrix(sub_dt[, eval(Xvars), with = FALSE])
        e <- sub_dt[, e]
        XeeXhs <- Bal_XeeXhC(d, X, e, n1, k)
    } else if(type == "spatial" & !balanced_pnl) {
        sub_dt <- dt[time == sub_index]
        n1 <- nrow(sub_dt)
        if(n1 > 1000 & verbose){message(paste("Starting on sub index:", sub_index))}
        X <- as.matrix(sub_dt[, eval(Xvars), with = FALSE])
        e <- sub_dt[, e]
        lat <- sub_dt[, lat]; lon <- sub_dt[, lon]
        # If n1 >= 50k obs, then avoiding construction of distance matrix.
        # This requires more operations, but is less memory intensive.
        if(n1 < 5 * 10^4) {
            XeeXhs <- XeeXhC(cbind(lat, lon), cutoff, X, e, n1, k,
                kernel, dist_fn)
        } else {
            XeeXhs <- XeeXhC_Lg(cbind(lat, lon), cutoff, X, e, n1, k,
                kernel, dist_fn)
        }
    } else if(type == "serial") {
        sub_dt <- dt[unit == sub_index]
        n1 <- nrow(sub_dt)
        if(n1 > 1000 & verbose){message(paste("Starting on sub index:", sub_index))}
        X <- as.matrix(sub_dt[, eval(Xvars), with = FALSE] )
        e <- sub_dt[, e]
        times <- sub_dt[, time]
        XeeXhs <- TimeDist(times, cutoff, X, e, n1, k)
    }
    XeeXhs
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.