e <- new("ngCMatrix") x <- new("ngCMatrix", p = as.integer(c(0,3,5,7,7,10)), i = as.integer(c(1,2,4,1,2,0,4,0,2,5)), Dim = as.integer(c(6,5))) rownames(x) <- paste("I", 1:6, sep = "") colnames(x) <- paste("T", 1:5, sep = "") #x ## #unclass(x) ## validity expect_true(getValidity(getClassDef("CsparseMatrix"))(x)) expect_true(.Call(arules:::R_valid_ngCMatrix, x)) expect_true(.Call(arules:::R_valid_ngCMatrix, e)) ## reorder expect_equal(.Call(arules:::R_recode_ngCMatrix, x, 6:1), x[6:1,]) expect_equal(.Call(arules:::R_recode_ngCMatrix, e, integer()), e) ## recode (add columns) expect_identical(.Call(arules:::R_recode_ngCMatrix, x, c(1L,3:7)), as(rbind(x[1,,drop=FALSE], Matrix(0, ncol = 5, sparse = TRUE), x[2:6,, drop = FALSE]), "nsparseMatrix")) ## cbind expect_identical(.Call(arules:::R_cbind_ngCMatrix, e, e), cbind(e,e)) expect_identical(.Call(arules:::R_cbind_ngCMatrix, x, x), cbind(x, x)) ## logical OR expect_identical(.Call(arules:::R_or_ngCMatrix, x, x), as(x | x, "nsparseMatrix")) expect_identical(.Call(arules:::R_or_ngCMatrix, e, e), as(e | e, "nsparseMatrix")) ## crossprod and tcrossprod expect_equal(.Call(arules:::R_crosstab_ngCMatrix, x, NULL, TRUE), as(Matrix::tcrossprod(as(as(x, "ngCMatrix"), "dsparseMatrix")), "matrix")) expect_equal(.Call(arules:::R_crosstab_ngCMatrix, x, NULL, FALSE), as(Matrix::crossprod(as(as(x, "ngCMatrix"), "dsparseMatrix")), "matrix")) ###