library(massdataset)
expression_data <-
as.data.frame(matrix(1:20, nrow = 5, ncol = 4))
colnames(expression_data) <-
paste0("sample", 1:4)
rownames(expression_data) <-
paste0("variable", 1:5)
sample_info <-
data.frame(
sample_id = colnames(expression_data),
injection.order = 1:4,
class = "QC",
group = "case"
)
variable_info <-
data.frame(
variable_id = rownames(expression_data),
mz = 1:5,
rt = 2:6
)
new_sample_info <-
data.frame(sample_id = sample_info$sample_id,
new = "a")
new_variable_info <-
data.frame(variable_id = c(variable_info$variable_id, "v6"),
new = 20)
object <-
create_mass_dataset(
expression_data = expression_data,
sample_info = sample_info,
variable_info = variable_info
)
test_that(desc = "left_join",
code = {
###sample_info
object2 <-
activate_mass_dataset(object, what = "sample_info")
object2 <-
left_join(x = object2,
y = new_sample_info, by = "sample_id")
result2 <-
check_mass_dataset(
expression_data = object2@expression_data,
sample_info = object2@sample_info,
variable_info = object2@variable_info,
sample_info_note = object2@sample_info_note,
variable_info_note = object2@variable_info_note
)
testthat::expect_equal(object = result2, "all good.")
###sample_info2
object2 <-
activate_mass_dataset(object, what = "sample_info")
testthat::expect_error(object2 <-
left_join(
x = object2,
y = cbind(new_sample_info,
injection.order = 1:4),
by = "injection.order"
))
###variable_info
object3 <-
activate_mass_dataset(object, what = "variable_info")
object3 <-
left_join(x = object3, y = new_variable_info, by = "variable_id")
result3 <-
check_mass_dataset(
expression_data = object3@expression_data,
sample_info = object3@sample_info,
variable_info = object3@variable_info,
sample_info_note = object3@sample_info_note,
variable_info_note = object3@variable_info_note
)
testthat::expect_equal(object = result3, "all good.")
###variable_info2
object2 <-
activate_mass_dataset(object, what = "variable_info")
testthat::expect_error(object2 <-
left_join(
x = object2,
y = cbind(new_variable_info,
mz = 1:6),
by = "mz"
))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.