Nothing
test_that("merge_matrix correctly performs an inner join", {
df1 <- data.frame(id = c(1, 2, 3), value1 = c("A", "B", "C"))
df2 <- data.frame(id = c(2, 3, 4), value2 = c("X", "Y", "Z"))
result <- merge_matrix(df1, df2, by = 'id', all = FALSE)
expected <- data.frame(id = c(2, 3), value1 = c("B", "C"), value2 = c("X", "Y"))
expect_equal(result, expected)
})
test_that("merge_matrix correctly performs a full join", {
df1 <- data.frame(id = c(1, 2, 3), value1 = c("A", "B", "C"))
df2 <- data.frame(id = c(2, 3, 4), value2 = c("X", "Y", "Z"))
result <- merge_matrix(df1, df2, by = 'id', all = TRUE)
expected <- data.frame(
id = c(1, 2, 3, 4),
value1 = c("A", "B", "C", NA),
value2 = c(NA, "X", "Y", "Z")
)
expect_equal(result, expected)
})
test_that("merge_matrix throws an error when 'by' column is missing", {
df1 <- data.frame(id = c(1, 2, 3), value1 = c("A", "B", "C"))
df2 <- data.frame(other_id = c(2, 3, 4), value2 = c("X", "Y", "Z"))
expect_error(merge_matrix(df1, df2, by = 'id'), "not found in .data")
})
test_that("merge_matrix removes duplicate columns before merging", {
df1 <- data.frame(id = c(1, 2, 3), value = c("A", "B", "C"), extra = c(1, 2, 3),extra.1 = c(1,2,3))
df2 <- data.frame(id = c(2, 3, 4), value = c("X", "Y", "Z"), extra = c(4, 5, 6),extra.1 = c(1,2,3)) # duplicate "extra"
result <- merge_matrix(df1, df2, by = "id", all = FALSE, remove_dups = TRUE)
expected <- data.frame(id = c(2, 3), value.x = c("B", "C"), extra.x = c(2, 3), value.y = c("X", "Y"), extra.y = c(4, 5))
expect_equal(result, expected)
})
test_that("merge_matrix handles unquoted column names (NSE)", {
df1 <- data.frame(id = c(1, 2, 3), value1 = c("A", "B", "C"))
df2 <- data.frame(id = c(2, 3, 4), value2 = c("X", "Y", "Z"))
result <- merge_matrix(df1, df2, by = 'id', all = FALSE)
expected <- data.frame(id = c(2, 3), value1 = c("B", "C"), value2 = c("X", "Y"))
expect_equal(result, expected)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.