as.xtabs: Conversion of a RevoScaleR Cross Tabulation Object to an xtabs Object
Description
Converts objects containing cross tabulation results to an xtabs object.
Usage
## S3 method for class `rxCrossTabs':
as.xtabs (x, ...)
## S3 method for class `rxCube':
as.xtabs (x, ...)
Arguments
x
object of class rxCrossTabs or rxCube.
...
additional arguments (currently not used).
Details
This function converts an existing object of class rxCrossTabs or rxCube into an xtabs object.
The underlying structure of the output object will be the same as that produced by an equivalent call to
xtabs. However, you should expect the "call"
attribute to be different,
since it is a copy of the original call stored in the rxCrossTabs or rxCube input object.
Often, this method can be used to coerce an object
for use with the pmml package. RevoScaleR model objects that contain
transforms
or a transformFunc
are not supported.
Value
an object of class xtabs.
Author(s)
Microsoft Corporation Microsoft Technical Support
See Also
rxCrossTabs, rxCube, xtabs, as.lm, as.kmeans, as.rpart, as.glm.
Examples
# Define function to compare xtabs and as.xtabs output
"as.xtabs.check" <- function(convertedXtabsObject, xtabsObject)
{
attr(convertedXtabsObject, "call") <- attr(xtabsObject, "call") <- NULL
all.equal(convertedXtabsObject, xtabsObject)
}
# Create a data set
set.seed(100)
divs <- letters[1:5]
glads <- c("spartacus", "crixus")
romeDF <- data.frame( division = rep(divs, 5L),
score = runif(25, min = 0, max = 10),
rank = runif(25, min = 1, max = 100),
gladiator = c(rep(glads[1L], 12L), rep(glads[2L], 13L)),
arena = sample(c("colosseum", "ludus", "market"), 25L, replace = TRUE))
# Compare xtabs and as.xtabs(rxCrossTabs(..., returnXtabs = FALSE))
# results for a 3-way interaction with no dependent variables
z1 <- rxCrossTabs(~ division : gladiator : arena, data = romeDF, returnXtabs = FALSE)
z2 <- xtabs(~ division + gladiator + arena, romeDF)
as.xtabs.check(as.xtabs(z1), z2) # TRUE
# Compare xtabs and as.xtabs(rxCube(...)) results for a 3-way interaction
# with no dependent variable
z1 <- rxCube(~ division : gladiator : arena, data = romeDF, means = FALSE)
z2 <- xtabs(~ division + gladiator + arena, romeDF)
as.xtabs.check(as.xtabs(z1), z2) # TRUE