.CreateIndexWriter <- function(feature.family) {
# Creates a new in memory index writer S4 object
#
# Args:
# feature.family: A string with the feature family name
#
# Returns:
# An index writer S4 object
stopifnot(is.character(feature.family))
index.writer <- index.writer.module$FeatureIndexMemoryWriter
writer.handle <- new(index.writer, feature.family)
return(writer.handle)
}
.CreateBiasIndexReader <- function(num.observations) {
stopifnot(is.numeric(num.observations),
num.observations > 0)
return(.Call("create_bias_index_reader", num.observations,
PACKAGE = "emre"))
}
.IndexerWriteStringFeatures <- function(writer.handle, feature.levels,
scaling = NULL) {
# Add string features (with scaling) to the index
#
# Args:
# writer.handle: An index writer S4 object
# feature.levels: vector with string levels
# scaling: (optional) vector with numeric values for scaling
# Returns:
# Nothing
stopifnot(class(writer.handle) == "Rcpp_FeatureIndexMemoryWriter",
is.character(feature.levels) || is.factor(feature.levels),
is.null(scaling) || is.numeric(scaling))
# we should have a valid writer object here
if (is.null(scaling)) {
writer.handle$write.string.features(feature.levels)
} else {
writer.handle$write.scaled.string.features(feature.levels,
as.double(scaling))
}
}
.IndexerStringLevels <- function(index.reader) {
# Returns a vector of all string feature levels
#
# Args:
# index.reader: An S4 object with the index reader
# Returns:
# A character vector with the feature level names
stopifnot(typeof(index.reader) == "externalptr",
inherits(index.reader, "IndexReader"))
return(.Call("get_string_levels", index.reader, PACKAGE = "emre"))
}
.IndexerRowToLevelMap <- function(index.reader) {
# Returns a vector the size of observations with the feature id
#
# Args:
# index.reader: An S4 object with the index reader
# Returns:
# A integer vector with the feature level ids per observation (row)
stopifnot(typeof(index.reader) == "externalptr",
inherits(index.reader, "IndexReader"))
return(.Call("get_levelid_map", index.reader, PACKAGE = "emre"))
}
.IndexerRowScaling <- function(index.reader) {
# Returns a vector the size of observations with numerical scalings
#
# Args:
# index.reader: An S4 object with the index reader
# Returns:
# A numeric vector with the scaling per observation (row)
stopifnot(typeof(index.reader) == "externalptr",
inherits(index.reader, "IndexReader"))
return(.Call("get_row_scaling", index.reader, PACKAGE = "emre"))
}
.IndexerNumLevels <- function(index.reader) {
# Returns the number of feature levels.
#
# Args:
# index.reader: An S4 object with the index reader
# Returns:
# The number of feature levels
stopifnot(typeof(index.reader) == "externalptr",
inherits(index.reader, "IndexReader"))
return(.Call("get_num_levels", index.reader, PACKAGE = "emre"))
}
.IndexerNumObservations <- function(index.reader) {
# Returns the number of observations for this indexer.
#
# Args:
# index.reader: An S4 object with the index reader
# Returns:
# The number of rows of data
stopifnot(typeof(index.reader) == "externalptr",
inherits(index.reader, "IndexReader"))
return(.Call("get_num_observations", index.reader,
PACKAGE = "emre"))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.