InputData: Eingabedaten für gespeicherte SQL-Prozedur: Klassengenerator
InputData
: Generiert ein InputData-Objekt, das die Informationen über den Eingabeparameter erfasst, der ein Datenrahmen ist.
Der Datenrahmen muss bei der Ausführung einer bestimmten Abfrage aufgefüllt werden.
Dieses Objekt ist für die Erstellung gespeicherter Prozeduren erforderlich, bei denen die eingebettete R-Funktion einen Datenrahmeneingabeparameter akzeptiert.
Verwendung
InputData(name, defaultQuery = NULL, query = NULL)
Argumente
name
Eine Zeichenfolge, der Name des Dateneingabeparameters in der R-Funktion, die für StoredProcedure bereitgestellt wird.
defaultQuery
Eine Zeichenfolge, die die Standardabfrage angibt, die die Daten abruft, wenn zum Zeitpunkt der Ausführung der gespeicherten Prozedur keine andere Abfrage bereitgestellt wird. Muss eine einfache SELECT-Abfrage sein.
query
Eine Zeichenfolge, die die Abfrage angibt, die zum Abrufen der Daten in der nächsten Ausführung der gespeicherten Prozedur verwendet wird.
Wert
InputData-Objekt
Beispiele
## 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)