У меня есть кусок кода r, как показано ниже.
sce_1$use <- cellFilter(sce_1, 2500, 1000, 5)
sce_2$use <- cellFilter(sce_2, 2500, 1000, 5)
sce_3$use <- cellFilter(sce_3, 2500, 1000, 5)
sce_4$use <- cellFilter(sce_4, 3000, 1000, 5)
sce_5$use <- cellFilter(sce_5, 3000, 1000, 5)
Этот код работает без ошибок и предупреждений.Чтобы автоматизировать и очистить процесс, я пытаюсь поместить это в цикл.
sce_list=mget(sce)
for (i in 1:length(paths))
sce_list[i]$use <- cellFilter(sce_list[i], 3000, 1000, 5)
The error I get
Quitting from lines 209-213 (prototype.Rmd)
Error in sce$total_features : $ operator is invalid for atomic vectors
Calls: <Anonymous> ... eval -> eval -> cellFilter -> filter_by_expr_features
Execution halted
Что еще я пробовал, это:
sce_list=mget(sce)
for (i in 1:length(paths))
get(paste0("sce_",i))$use <- cellFilter(sce[i], 2500, 1000, 5)
the error I get is
Quitting from lines 209-213 (prototype.Rmd)
Error in sce$total_features : $ operator is invalid for atomic vectors
Calls: <Anonymous> ... eval -> eval -> cellFilter -> filter_by_expr_features
Execution halted
На одном из предложений из комментариев,Я использовал:
sce_list=mget(sce)
for (i in 1:length(paths))
sce_list[[i]]$use <- cellFilter(sce_list[[i]], 2500, 1000, 5)
Это прекрасно работает.Тем не менее, следующий фрагмент кода, который использует предыдущую часть и используется для нормальной работы без зацикливания предыдущего фрагмента.Однако теперь он выдает ошибку.
automateFiltering <- function(sce){
options(repr.plot.width=4, repr.plot.height=4)
plotPCA(
sce,
size_by = "total_features",
pca_data_input = "pdata",
shape_by = "use",
detect_outliers = TRUE,
return_SCE = TRUE
)
}
sce_1 <- automateFiltering(sce_1)
sce_2 <- automateFiltering(sce_2)
sce_3 <- automateFiltering(sce_3)
sce_4 <- automateFiltering(sce_4)
ошибка:
Quitting from lines 241-246 (prototype.Rmd)
Error in .choose_vis_values(object, shape_by, cell_control_default = TRUE, :
'use' not found in 'colnames(colData(x))'
Calls: <Anonymous> ... plotPCA -> .local -> plotReducedDim -> .choose_vis_values
Execution halted