gpt4 book ai didi

r - 在 for 循环中在 mac 上设置多个内核

转载 作者:行者123 更新时间:2023-12-05 01:03:27 25 4
gpt4 key购买 nike

我暂时使用带有 R 的 Mac (M1),但它只运行一个内核。我正在编辑我的问题以包含一个可重现的示例。我想使用多核运行大数据函数。

这是可重现的例子:

library(eulerr)
library(microbiome)
#devtools::install_github('microsud/microbiomeutilities')
library(microbiomeutilities)

data("zackular2014")
pseq <- zackular2014

table(meta(pseq)$DiseaseState, useNA = "always")
pseq.rel <- microbiome::transform(pseq, "compositional")
Make a list of DiseaseStates.

disease_states <- unique(as.character(meta(pseq.rel)$DiseaseState))
print(disease_states)

list_core <- c() # an empty object to store information

for (n in disease_states){ # for each variable n in DiseaseState
#print(paste0("Identifying Core Taxa for ", n))

ps.sub <- subset_samples(pseq.rel, DiseaseState == n) # Choose sample from DiseaseState by n

core_m <- core_members(ps.sub, # ps.sub is phyloseq selected with only samples from g
detection = 0.001, # 0.001 in atleast 90% samples
prevalence = 0.75)
print(paste0("No. of core taxa in ", n, " : ", length(core_m))) # print core taxa identified in each DiseaseState.
list_core[[n]] <- core_m

mycols <- c(nonCRC="#d6e2e9", CRC="#cbf3f0", H="#fcf5c7")
plot(venn(list_core),
fills = mycols)

我想使用多核运行第一个for循环,但我不知道如何编写包括mclapply的函数?谢谢

最佳答案

答案:不。不可能神奇地让 R 到处并行运行。

要并行运行代码,您必须自己使用一些并行处理框架来编排并行化,参见。 https://cran.r-project.org/web/views/HighPerformanceComputing.html .

一些包提供可以并行运行的功能。对于它们中的许多人来说,并行化可以通过参数来控制,有些可以通过 R 选项或其他设置来控制。您需要阅读这些函数的文档以了解具体方法。

关于r - 在 for 循环中在 mac 上设置多个内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74174426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com