Hello, I have a merged R object with 18 samples
all_combined <- merge(
  sample_1MI1_so,
  y = c(
    sample_1MI3_so,
    sample_2MI1_so,
    sample_2MI3_so,
    sample_3C_MI2_so,
    sample_3MI1_so,
    sample_3MI3_so,
    sample_4D_MI2_so,
    sample_4MI1_so,
    sample_4MI3_so,
    sample_5MI1_so,
    sample_5MI3_so,
    sample_6MI1_so,
    sample_6MI3_so,
    sample_7MI1_so,
    sample_7MI3_so,
    sample_8MI1_so,
    sample_8MI3_so
  ),
  add.cell.ids = c(
    "sample_1MI1_so",
    "sample_1MI3_so",
    "sample_2MI1_so",
    "sample_2MI3_so",
    "sample_3C_MI2_so",
    "sample_3MI1_so",
    "sample_3MI3_so",
    "sample_4D_MI2_so",
    "sample_4MI1_so",
    "sample_4MI3_so",
    "sample_5MI1_so",
    "sample_5MI3_so",
    "sample_6MI1_so",
    "sample_6MI3_so",
    "sample_7MI1_so",
    "sample_7MI3_so",
    "sample_8MI1_so",
    "sample_8MI3_so"
  ),
  merge.data = TRUE
)
View object
all_combined
An object of class Seurat 
23477 features across 135704 samples within 1 assay 
Active assay: RNA (23477 features, 2000 variable features)
 55 layers present: counts.1, counts.2, counts.3, counts.4, counts.5, counts.6, counts.7, counts.8, counts.9, counts.10, counts.11, counts.12, counts.13, counts.14, counts.15, counts.16, counts.17, counts.18, data.1, scale.data.1, data.2, scale.data.2, data.3, scale.data.3, data.4, scale.data.4, data.5, scale.data.5, data.6, scale.data.6, data.7, scale.data.7, data.8, scale.data.8, data.9, scale.data.9, data.10, scale.data.10, data.11, scale.data.11, data.12, scale.data.12, data.13, scale.data.13, data.14, scale.data.14, data.15, scale.data.15, data.16, scale.data.16, data.17, scale.data.17, data.18, scale.data.18, scale.data
 2 dimensional reductions calculated: pca, umap
In the all_combined object, I', trying to extract the counts matrices from it, but I'm not sure how to do this? Below is what I've tried
all_combined_count_matrix <- LayerData(object = all_combined, assay = "RNA", layer = "counts")
Warning: multiple layers are identified by counts.1 counts.2 counts.3 counts.4 counts.5 counts.6 counts.7 counts.8 counts.9 counts.10 counts.11 counts.12 counts.13 counts.14 counts.15 counts.16 counts.17 counts.18
 only the first layer is used
# only 1st sample counts matrix is extracted....want to extract all 18 counts matrices...all_combined object contains 18 seurat objects merged into one
`
Manually combine all 18 count matrices into one
# List all layers that start with "counts"
all_counts_layers <- Layers(all_combined[["RNA"]])
all_counts_layers <- counts_layers[grepl("^counts", all_counts_layers)]
# # view all_count_layers
#  [1] "counts.1"  "counts.2"  "counts.3"  "counts.4"  "counts.5"  "counts.6"  "counts.7"  "counts.8"  "counts.9"  "counts.10" "counts.11" "counts.12" "counts.13" "counts.14"
# [15] "counts.15" "counts.16" "counts.17" "counts.18"
# Extract each layer and combine
all_count_matrices <- lapply(all_counts_layers, function(layer) {
  LayerData(all_combined, assay = "RNA", layer = layer)
})
# View all_count_matrices (prints out all 18 count matrices. NOTE: each matrices has different number of rows/genes and different number of columns. However, total rows adds up to 23,447 genes and total columns add to 135,704 cells)
# all_count_matrices
# Combine into one gene x cell matrix
all_combined_counts <- do.call(cbind, all_count_matrices)
# Error in cbind.Matrix(x, y, deparse.level = 0L) : 
#   number of rows of matrices must match
Any advice on how to do this effectively would be greatly appreciated. I'm using Seurat v5.3.0