Skip to content

Commit 99950ec

Browse files
committed
name changes for data conversion utilities
1 parent c9d21e1 commit 99950ec

File tree

5 files changed

+44
-12
lines changed

5 files changed

+44
-12
lines changed

NAMESPACE

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ export(.x)
103103
export(.y)
104104
export(C5.0_train)
105105
export(add_rowindex)
106-
export(as_matrix)
107106
export(boost_tree)
108107
export(check_empty_ellipse)
109108
export(check_final_param)
@@ -131,6 +130,8 @@ export(linear_reg)
131130
export(logistic_reg)
132131
export(make_classes)
133132
export(mars)
133+
export(maybe_data_frame)
134+
export(maybe_matrix)
134135
export(mlp)
135136
export(model_printer)
136137
export(multi_predict)

R/arguments.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ make_xy_call <- function(object, target) {
191191
switch(
192192
target,
193193
none = rlang::expr(x),
194-
data.frame = rlang::expr(as.data.frame(x)),
195-
matrix = rlang::expr(as_matrix(x)),
194+
data.frame = rlang::expr(maybe_data_frame(x)),
195+
matrix = rlang::expr(maybe_matrix(x)),
196196
rlang::abort(glue::glue("Invalid data type target: {target}."))
197197
)
198198

R/convert_data.R

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -326,18 +326,28 @@ check_dup_names <- function(x, y) {
326326

327327
## -----------------------------------------------------------------------------
328328

329-
#' Convert data frame to matrix
329+
#' Fuzzy conversions
330330
#'
331-
#' This is a substitute for `as.matrix()` that will convert a data frame to a
332-
#' ordinary matrix but leave other formats (such as a sparse matrix) alone.
331+
#' These are substitutes for `as.matrix()` and `as.data.frame()` that leave
332+
#' a sparse matrix as-is.
333333
#' @param x A data frame, matrix, or sparse matrix.
334-
#' @return A matrix or sparse matrix.
334+
#' @return A data frame, matrix, or sparse matrix.
335335
#' @export
336-
as_matrix <- function(x) {
336+
maybe_matrix <- function(x) {
337337
inher(x, c("data.frame", "matrix", "dgCMatrix"), cl = match.call())
338338
if (is.data.frame(x)) {
339339
x <- as.matrix(x)
340340
}
341341
# leave alone if matrix or sparse matrix
342342
x
343343
}
344+
345+
#' @rdname maybe_matrix
346+
#' @export
347+
maybe_data_frame <- function(x) {
348+
if (!inherits(x, "dgCMatrix")) {
349+
x <- as.data.frame(x)
350+
}
351+
x
352+
}
353+

man/maybe_matrix.Rd

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/testthat/test_convert_data.R

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -623,11 +623,11 @@ test_that("bad args", {
623623
## -----------------------------------------------------------------------------
624624

625625
test_that("convert to matrix", {
626-
expect_true(inherits(parsnip::as_matrix(mtcars), "matrix"))
627-
expect_true(inherits(parsnip::as_matrix(tibble::as_tibble(mtcars)), "matrix"))
628-
expect_true(inherits(parsnip::as_matrix(as.matrix(mtcars)), "matrix"))
626+
expect_true(inherits(parsnip::maybe_matrix(mtcars), "matrix"))
627+
expect_true(inherits(parsnip::maybe_matrix(tibble::as_tibble(mtcars)), "matrix"))
628+
expect_true(inherits(parsnip::maybe_matrix(as.matrix(mtcars)), "matrix"))
629629
expect_true(
630-
inherits(parsnip::as_matrix(Matrix::Matrix(as.matrix(mtcars), sparse = TRUE)),
630+
inherits(parsnip::maybe_matrix(Matrix::Matrix(as.matrix(mtcars), sparse = TRUE)),
631631
"dgCMatrix")
632632
)
633633
})

0 commit comments

Comments
 (0)