Condividi tramite


InputData: dati di input per la stored procedure SQL: Generatore di classi

InputData: genera un oggetto InputData che acquisisce le informazioni sul parametro di input che è un frame di dati. Il frame di dati deve essere popolato durante l'esecuzione di una determinata query. Questo oggetto è necessario per la creazione di stored procedure in cui la funzione R incorporata accetta un parametro di input del frame di dati.

Utilizzo

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

Argomenti

name

Stringa di caratteri, il nome del parametro di input dei dati nella funzione R fornita a StoredProcedure.

defaultQuery

Stringa di caratteri che specifica la query predefinita che recupererà i dati se non viene specificata una query diversa al momento dell'esecuzione della stored procedure. Deve essere una query SELECT semplice.

query

Stringa di caratteri che specifica la query che verrà utilizzata per recuperare i dati nell'esecuzione successiva della stored procedure.

Valore

Oggetto InputData

Esempi


 ## 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 InputData 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)