## ----------------------------------------------------------------------------- suppressPackageStartupMessages({库(DuoClustering2018)}) scename < -“sce_filteredExpr10_Koh sce < - sce_filteredExpr10_Koh <——“PCAHC()方法 " ## ----------------------------------------------------------------------------- ## 负载参数文件。通用数据集和方法参数以及# #数据集/ method-specific参数参数< - duo_clustering_all_parameter_settings_v2 () [[paste0 (scename、“_”、方法)]]params # # - eval = FALSE -------------------------------------------------------------- # ## 次数设置为运行集群每个k # n_rep < - 5 # # # #运行集群# set.seed (1234) # L < -拉普(seq_len (n_rep)、功能(i)为每个运行{# # #猫(paste0(“=”,我,“\ n”))#如果(方法= =“修”){# tmp < -拉普(params range_resolutions美元,函数(分辨率){# # #每个决议#猫(paste0(“resolution =”,决议,“\ n”))# # #运行集群# res < -获得(paste0(“apply_”方法)(sce =, params = params, #分辨率=分辨率)在数据帧# # # # #把输出df < data.frame(数据集= scename # =方法,细胞# =名字(res集群美元),运行=我#,# k =长度(独特的集群(res)), #分辨率=分辨率,# cluster = res$cluster, # stringsAsFactors = FALSE, row.names = NULL) # tm <- data.frame(dataset =场景,# method =方法,# run = i, # k =长度(唯一的(res$cluster)), # resolution =分辨率,# user. name = NULL)Self = res$st[["用户。Self "]], # sys。Self = res$st[["sys. "Self“]]”,# user。Child = res$st[["用户。孩子“]]],# sys。Child = res$st[["sys. "孩子”]],#运行= res圣[["运行"]],美元# stringsAsFactors = FALSE, row.names = NULL) # k < - data.frame(数据集= scename # =方法,# =我运行,# k =长度(独特的集群(res)), #分辨率=分辨率,# est_k = res est_k美元,# stringsAsFactors = FALSE, row.names = NULL) #列表(集群= df,时间= tm, k = k ) # }) ## 结束为每个其他决议#}{# tmp < -拉普(params range_clusters美元,函数为每个k (k){# # #猫(paste0 (k =, k,“\ n”))# # #运行集群# res < -得到(paste0(“apply_”方法)(sce =, params =参数k = k)在数据帧# # # # #把输出df < - data.frame(数据集= scename # =方法,细胞# =名字(res集群美元),运行=我#,# k = k, #分辨率= NA, #集群= res $集群,# stringsAsFactors = FALSE, row.names = NULL) # tm < - data.frame(数据集= scename # =方法,# =我运行,# k = k, #分辨率= NA, #用户。Self = res$st[["用户。Self "]], # sys。Self = res$st[["sys. "Self“]]”,# user。child = res$st[["user.child"]], # sys.child = res$st[["sys.child"]], # elapsed = res$st[["elapsed"]], # stringsAsFactors = FALSE, row.names = NULL) # kest <- data.frame(dataset = scename, # method = method, # run = i, # k = k, # resolution = NA, # est_k = res$est_k, # stringsAsFactors = FALSE, row.names = NULL) # list(clusters = df, timing = tm, kest = kest) # }) ## End for each k # } # # ## Summarize across different values of k # assignments <- do.call(rbind, lapply(tmp, function(w) w$clusters)) # timings <- do.call(rbind, lapply(tmp, function(w) w$timing)) # k_estimates <- do.call(rbind, lapply(tmp, function(w) w$kest)) # list(assignments = assignments, timings = timings, k_estimates = k_estimates) # }) ## End for each run # # ## Summarize across different runs # assignments <- do.call(rbind, lapply(L, function(w) w$assignments)) # timings <- do.call(rbind, lapply(L, function(w) w$timings)) # k_estimates <- do.call(rbind, lapply(L, function(w) w$k_estimates)) # # ## Add true group for each cell # truth <- data.frame(cell = as.character(rownames(colData(sce))), # trueclass = as.character(colData(sce)$phenoid), # stringsAsFactors = FALSE) # assignments$trueclass <- truth$trueclass[match(assignments$cell, truth$cell)] # # ## Combine results # res <- list(assignments = assignments, timings = timings, # k_estimates = k_estimates) # # df <- dplyr::full_join(res$assignments %>% # dplyr::select(dataset, method, cell, run, k, # resolution, cluster, trueclass), # res$k_estimates %>% # dplyr::select(dataset, method, run, k, # resolution, est_k) # ) %>% dplyr::full_join(res$timings %>% dplyr::select(dataset, method, run, k, # resolution, elapsed)) ## ----------------------------------------------------------------------------- sessionInfo()