OutputParameter : paramètre de sortie pour la procédure stockée SQL : générateur de classes
OutputParameter
: génère un objet OutputParameter qui capture les informations sur les paramètres de sortie de la fonction qui doit être incorporée dans une procédure stockée SQL Server. Ils deviendront les paramètres de sortie de la procédure stockée. Les types R pris en charge des paramètres de sortie sont POSIXct, numeric, character, integer, logical et raw.
Cet objet doit être créé si la fonction R retourne une liste nommée pour les membres de trame hors données de la liste
Utilisation
OutputParameter(name, type)
Arguments
name
Une chaîne de caractères, nom de l’objet de paramètre de sortie.
type
Type R de l’objet de paramètre de sortie.
Valeur
Objet OutputParameter
Exemples
## Not run:
# See ?StoredProcedure for creating the "cleandata" table.
# train 2 takes a data frame with clean data and outputs a model
# as well as the data on the basis of which the model was built
train2 <- function(in_df) {
in_df[,"DayOfWeek"] <- factor(in_df[,"DayOfWeek"], levels=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"))
# The model formula
formula <- ArrDelay ~ CRSDepTime + DayOfWeek + CRSDepHour:DayOfWeek
# Train the model
rxSetComputeContext("local")
mm <- rxLinMod(formula, data=in_df, transformFunc=NULL, transformVars=NULL)
mm <- rxSerializeModel(mm)
return(list(mm = mm, in_df = in_df))
}
# create InpuData Object for an input parameter that is a data frame
# note: if the input parameter is not a data frame use InputParameter object
id <- InputData(name = "in_df",
defaultQuery = paste0("select top 10000 ArrDelay,CRSDepTime,",
"DayOfWeek,CRSDepHour from cleanData"))
out1 <- OutputData("in_df")
# create an OutputParameter object for the variable "mm" inside the return list
out2 <- OutputParameter("mm", "raw")
# connections string
conStr <- paste0("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
"Trusted_Connection=Yes;")
# create the stored procedure object
sp_df_op <- StoredProcedure(train2, "spTest2", id, out1, out2,
filePath = ".")
registerStoredProcedure(sp_df_op, conStr)
result <- executeStoredProcedure(sp_df_op, connectionString = conStr)
# Get back the linear model.
mm <- rxUnserializeModel(result$params$op1)
## End(Not run)