Nothing
#' @title Generate spatial predictions using support vector machine ('svm')
#'
#' @description This function is for generating spatial predictions using 'svm' method
#' in 'e1071' package.
#'
#' @param formula a formula defining the response variable and predictive variables.
#' @param trainxy a dataframe contains predictive variables and the response
#' variable of point samples. The location information, longitude (long),
#' latitude (lat), need to be included in the 'trainx' for spatial predictive
#' modeling, need to be named as 'long' and 'lat'.
#' @param longlatpredx a dataframe contains longitude and latitude of point
#' locations (i.e., the centers of grids) to be predicted, need to be named as
#' 'long' and 'lat'.
#' @param predx a dataframe or matrix contains columns of predictive variables
#' for the grids to be predicted.
#' @param scale A logical vector indicating the variables to be scaled (default: TRUE).
#' @param type the default setting is 'NULL'. See '?svm' for various options.
#' @param kernel the default setting is 'radial'. See '?svm' for other options.
#' @param degree a parameter needed for kernel of type polynomial (default: 3).
#' @param gamma a parameter needed for all 'kernels' except 'linear'
#' (default: 1/(data dimension)).
#' @param coef0 a parameter needed for kernels of type 'polynomial' and 'sigmoid'(default: 0).
#' @param cost cost of constraints violation (default: 1).
#' @param nu a parameter needed for 'nu-classification', 'nu-regression', and 'one-classification' (default: 0.5).
#' @param tolerance tolerance of termination criterion (default: 0.001).
#' @param epsilon 'epsilon' in the insensitive-loss function (default: 0.1).
#' See '?svm' for details.
#' @param ... other arguments passed on to 'svm'.
#'
#' @return A dataframe of longitude, latitude and predictions.
#'
#' @references David Meyer, Evgenia Dimitriadou, Kurt Hornik, Andreas Weingessel and Friedrich
#' Leisch (2020). e1071: Misc Functions of the Department of Statistics, Probability
#' Theory Group (Formerly: E1071), TU Wien. R package version 1.7-4.
#' https://CRAN.R-project.org/package=e1071.
#'
#' @author Jin Li
#' @examples
#' \donttest{
#' library(spm)
#' data(petrel)
#' data(petrel.grid)
#'
#' gravel <- petrel[, c(1, 2, 6:9, 5)]
#' model <- log(gravel + 1) ~ lat + bathy + I(long^3) + I(lat^2) + I(lat^3)
#'
#' svmpred1 <- svmpred(formula = model, trainxy = gravel,
#' longlatpredx = petrel.grid[, c(1:2)], predx = petrel.grid)
#'
#' names(svmpred1)
#'
#' # Back transform 'svmpred1$pred.svm1' to generate the final predictions
#' svm.predictions <- exp(svmpred1$pred.svm1) - 1
#' range(svm.predictions)
#'}
#'
#' @export
svmpred <- function (formula = NULL, trainxy, longlatpredx, predx, scale = TRUE, type = NULL, kernel = "radial", degree = 3, gamma = if (is.vector(trainxy)) 1 else 1 / ncol(trainxy), coef0 = 0, cost = 1, nu = 0.5, tolerance = 0.001, epsilon = 0.1, ...) {
svm1 <- e1071::svm(formula, trainxy, scale = scale, type = type, kernel = kernel, degree = degree, gamma = gamma, coef0 = coef0, cost = cost, nu = nu, tolerance = tolerance, epsilon = epsilon)
pred.svm1 <- stats::predict(svm1, predx)
svm.pred <- cbind(longlatpredx, pred.svm1)
svm.pred
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.