У меня есть фрагмент кода, который работает следующим образом:
library(SummarizedExperiment)
for (i in seq_along(sce_list))
{
r <- rowData(sce_list[[i]])$use
c <- colData(sce_list[[i]])$use
tt=(sce_list[[i]])[r,c]
assign(paste0("sce_",i,".qc"),tt)
}
Я хотел бы сохранить объекты "sce _", i, ". Qc" из приведенного выше кода всписок и доступ к ним через цикл.
В принципе, я хочу сделать:
сделать функцию:
sceDataDim <- function(sce){
print(paste(metadata(sce)$name[1], dim(sce)[1], "genes", dim(sce)[2], "cells"))
, а затем использовать функцию, подобную этой
sceDataDim(sce_1.qc)
Приведенный выше код работает нормально.Однако, когда я пытаюсь запустить цикл, у меня возникают проблемы:
for (i in 1:4)
sceDataDim(paste0("sce_",i,".qc"))
error
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘metadata’ for signature ‘"character"’
Любые предложения ????
РЕДАКТИРОВАТЬ:
dput(sce_list)
list(<S4 object of class structure("SingleCellExperiment", package = "SingleCellExperiment")>,
<S4 object of class structure("SingleCellExperiment", package = "SingleCellExperiment")>,
<S4 object of class structure("SingleCellExperiment", package = "SingleCellExperiment")>,
<S4 object of class structure("SingleCellExperiment", package = "SingleCellExperiment")>)