diff --git a/R/MsBackend.R b/R/MsBackend.R index bf70aca5..92b8214a 100644 --- a/R/MsBackend.R +++ b/R/MsBackend.R @@ -1044,7 +1044,7 @@ setMethod("cbind2", signature = c("MsBackend", "dataframeOrDataFrameOrmatrix"), function(x, y = data.frame(), ...) { if (is(y, "matrix")) y <- as.data.frame(y) - if (any(colnames(x) %in% colnames(y))) + if (any(colnames(spectraData(x)) %in% colnames(y))) stop("spectra variables in 'y' are already present in 'x' ", "replacing them is not allowed") if (nrow(y) != length(x)) diff --git a/R/MsBackendDataFrame.R b/R/MsBackendDataFrame.R index 7046f103..28d692cc 100644 --- a/R/MsBackendDataFrame.R +++ b/R/MsBackendDataFrame.R @@ -575,7 +575,7 @@ setMethod("cbind2", signature = c("MsBackendDataFrame", function(x, y = data.frame(), ...) { if (is(y, "matrix")) y <- as.data.frame(y) - if (any(colnames(x) %in% colnames(y))) + if (any(colnames(spectraData(x)) %in% colnames(y))) stop("spectra variables in 'y' are already present in 'x' ", "replacing them is not allowed") if (nrow(y) != length(x)) diff --git a/R/MsBackendMemory.R b/R/MsBackendMemory.R index b25c969d..4d232496 100644 --- a/R/MsBackendMemory.R +++ b/R/MsBackendMemory.R @@ -678,7 +678,7 @@ setMethod("cbind2", signature = c("MsBackendMemory", function(x, y = data.frame(), ...) { if (is(y, "matrix")) y <- as.data.frame(y) - if (any(colnames(x) %in% colnames(y))) + if (any(colnames(spectraData(x)) %in% colnames(y))) stop("spectra variables in 'y' are already present in 'x' ", "replacing them is not allowed") diff --git a/inst/test_backends/test_MsBackend/test_spectra_subsetting.R b/inst/test_backends/test_MsBackend/test_spectra_subsetting.R index b17a8bec..76d676a4 100644 --- a/inst/test_backends/test_MsBackend/test_spectra_subsetting.R +++ b/inst/test_backends/test_MsBackend/test_spectra_subsetting.R @@ -76,6 +76,9 @@ test_that("cbind2 works", { expect_true(validObject(res)) expect_equal(ncol(spectraData(res)), length(spectraVariables(be)) + 1) expect_equal(res$m, 1:seql) + ## no replacing + expect_error(cbind2(be, data.frame(scanIndex = 1:seql)), + "are already present") }) #' extractByIndex. Uses [ if not implemented