У меня есть конкретная симуляция для выполнения, которая занимает некоторое время, чтобы работать в R. Поскольку я хочу выполнить 1000 симуляций, я решил использовать «параллельный» пакет для распространения этих симуляций на 4 ядра. Я знаю, что я могу получить результирующий вектор, если у меня есть функция вроде следующего.Как распараллелить функцию с несколькими параметрами?
results_parallel <- parSapply(cl, c(1000,1000,1000,1000), rnorm)
здесь RNorm() имеет только один параметр, как на входе, так что я могу попросить, чтобы произвести 4000 значений с помощью 4 ядра.
Но мое моделирование имеет более одного параметра. Мой вопрос в том, что, поскольку у меня есть несколько параметров в качестве входных данных, как я могу определить, какой параметр должен быть рассчитан с использованием 4 ядер? Если simulation1(A,B,C,m)
- это моя функция, где m - количество симуляций, я хочу попросить каждое ядро выполнить симуляцию 250 раз, так что, наконец, я смогу получить 1000 симуляций. Может ли кто-нибудь дать мне подсказку?
Это было действительно хорошее решение. Я стараюсь, и это сработало хорошо. Благодарю. –
Если решение ответило на ваш вопрос, убедитесь, что вы отметили его как принятое, чтобы помочь другим найти его в будущем. – rosscova