context("test-convert-dataframe-to-matrix: ")
test_that("Check that convert_data_frame_to_matrix returns matrices per expectation", {
library(Matrix)
##---------------------
## case 1 - continuous dense
## For each expample check class of the object returned, its values and dim names
df_cd1 = data.frame(feature_id = c(1,2,1,2), biosample_id = c(1,1,2,2), value = c(7))
invisible(capture.output(ret_cd1 <- revealgenomics:::convert_data_frame_to_matrix(df_cd1)))
expected_ret_cd1 = matrix(data = 7, nrow = 2, ncol = 2, dimnames = list(1:2, 1:2))
expect_true(is(ret_cd1, 'dgTMatrix'))
expect_identical(as.matrix(ret_cd1), expected_ret_cd1)
df_cd2 = data.frame(feature_id = c(1, 1), biosample_id = c(3,4), value = c(7, 9))
invisible(capture.output(ret_cd2 <- revealgenomics:::convert_data_frame_to_matrix(df_cd2)))
expected_ret_cd2 = matrix(data = c(7,9), nrow = 1, ncol = 2, dimnames = list(1, 3:4))
expect_true(is(ret_cd2, 'dgeMatrix'))
expect_identical(as.matrix(ret_cd2), expected_ret_cd2)
##---------------------
## case 2 - discontinuous dense
## For each expample check class of the object returned, its values and dim names
df_dcd1 = data.frame(feature_id = c(1,2,1,2), biosample_id = c(1,1,3,3), value = c(7))
invisible(capture.output(ret_dcd1 <- revealgenomics:::convert_data_frame_to_matrix(df_dcd1)))
expected_ret_dcd1 = matrix(data = 7, nrow = 2, ncol = 2, dimnames = list(1:2, c(1,3)))
expect_true(is(ret_dcd1, 'dgTMatrix'))
expect_identical(as.matrix(ret_dcd1), expected_ret_dcd1)
df_dcd2 = data.frame(feature_id = c(1,4,1,4), biosample_id = c(1,1,3,3), value = c(7, 9))
invisible(capture.output(ret_dcd2 <- revealgenomics:::convert_data_frame_to_matrix(df_dcd2)))
expected_ret_dcd2 = matrix(data = c(7,7,9,9), nrow = 2, ncol = 2, byrow = TRUE,
dimnames = list(c(1,4), c(1,3)))
expect_true(is(ret_dcd2, 'dgTMatrix'))
expect_identical(as.matrix(ret_dcd2), expected_ret_dcd2)
##---------------------
## case 3 - sparse
## For each expample check class of the object returned, its values and dim names
df_s1 = data.frame(feature_id = c(1, 2), biosample_id = c(3,4), value = c(7, 9))
invisible(capture.output(ret_s1 <- revealgenomics:::convert_data_frame_to_matrix(df_s1)))
expected_s1 = matrix(data = c(7,NA,NA,9), nrow = 2, ncol = 2, byrow = TRUE,
dimnames = list(1:2, 3:4))
expect_true(is(ret_s1, 'matrix'))
expect_identical(ret_s1, expected_s1)
df_s2 = data.frame(feature_id = c(1:4), biosample_id = c(1:4), value = c(7))
invisible(capture.output(ret_s2 <- revealgenomics:::convert_data_frame_to_matrix(df_s2)))
expected_s2 = matrix(data = c(7,NA,NA,NA, NA,7,NA,NA, NA,NA,7,NA, NA,NA,NA,7),
nrow = 4, ncol = 4, byrow = TRUE, dimnames = list(1:4, 1:4))
expect_true(is(ret_s2, 'matrix'))
expect_identical(ret_s2, expected_s2)
df_s3 = data.frame(feature_id = c(1, 10, 10), biosample_id = c(3,3, 4), value = c(7, 8, 9))
invisible(capture.output(ret_s3 <- revealgenomics:::convert_data_frame_to_matrix(df_s3)))
expected_s3 = matrix(data = c(7,NA,8,9), nrow = 2, ncol = 2, byrow = TRUE,
dimnames = list(c(1,10), 3:4))
expect_true(is(ret_s3, 'matrix'))
expect_identical(ret_s3, expected_s3)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.