Share via


InputData: datos de entrada para el procedimiento almacenado de SQL: generador de clases

InputData: genera un objeto InputData que captura la información sobre el parámetro de entrada que es una trama de datos. La trama de datos debe rellenarse tras la ejecución de una consulta determinada. Este objeto es necesario para la creación de procedimientos almacenados en los que la función de R incrustada toma un parámetro de entrada de la trama de datos.

Uso

  InputData(name, defaultQuery = NULL, query = NULL)

Argumentos

name

Cadena de caracteres, el nombre del parámetro de entrada de datos en la función de R proporcionada a StoredProcedure.

defaultQuery

Cadena de caracteres que especifica la consulta predeterminada que recuperará los datos si no se proporciona una consulta diferente en el momento de la ejecución del procedimiento almacenado. Debe ser una consulta SELECT simple.

query

Cadena de caracteres que especifica la consulta que se usará para recuperar los datos en la siguiente ejecución del procedimiento almacenado.

Valor

Objeto InputData

Ejemplos


 ## Not run:

 # See ?StoredProcedure for creating the "cleandata" table.

 # train 1 takes a data frame with clean data and outputs a model
 train1 <- 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)
   mm <- rxSerializeModel(mm)

   return(list("mm" = mm))
 }
 # 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"))
 # create an OutputParameter object for the variable inside the return list
 # note: if that variable is a data frame use OutputData object
 out <- 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("train1", "spTest1", id, out,
                        filePath = ".")
 # register the stored procedure with the database
 registerStoredProcedure(sp_df_op, conStr)

 # execute the stored procedure, note: non-data frame variables inside the
 # return list are not returned to R. However, if the execution is not successful
 # the error will be displayed
 model <- executeStoredProcedure(sp_df_op, connectionString = conStr)
 # get the linear model
 mm <- rxUnserializeModel(model$params$op1)
## End(Not run)