mclapply vs dla pętli do kreślenia: szybkość i skalowalność

Używam funkcji w R, której uruchomienie może zająć dużo czasu, ponieważ wykonuje wiele poleceń w celu przekształcenia i podzbioru niektórych danych, zanim zostaną wprowadzone doggplot spiskować. Muszę uruchomić tę funkcję wiele razy, dostosowując wartości argumentów. Podany przeze mnie przykład jest prosty ... ale zastanawiałeś się, jak go przyspieszyć? jeśli zostanie powiększony, tzn. jaki jest najszybszy sposób uzyskania każdej kombinacji ... czy istnieje ogólna metoda konwersjifor zapętla sięmclapply zakładając, że są szybsze ... prosimy o podanie alternatywnych przykładów próbnych, które wykazują preferencję dla konkretnej metody

udawany przykład:

podstawowa funkcja:

ff <- function(n, mu, stdev){
     x1 <- c(1:n)
     y1 <- rnorm(n,mu,stdev)
     z1 <- data.frame(cbind(x1,y1))
     ggplot(z1, aes(x=x1,y=y1))+
       geom_point()+
       labs(title=paste("n=",n,"mu=",mu, "stdev=",stdev))
}

więc niewolnym sposobem przechodzenia przez parametry byłoby wykonanie następujących czynności ...

for(i in 1:10){
    for(j in 1:2){
       for(k in seq(100,500,by=100)){
         ff(k,i,j)
       }
    }
}

jaki byłby najszybszy sposób przyspieszenia tego? Zakładam, że może potrzebować czegoś takiegoexpand.grid(x=c(1:10),y=c(1:2),z=seq(100,500,by=100))&nbsp;i używaniemclapply&nbsp;przejrzeć każdy rząd ... w jakiś równoległy sposób? (Mam do dyspozycji 4 rdzenie). Nie krępuj się wyciągać bitów z podstawowej funkcji lub wprowadzać rzeczy do podstawowej funkcji zgodnie z metodami, które spowodowałyby największą poprawę prędkości. Proces będzie oczywiście trwał dłużej, jeśli zwiększysz zakres dla każdego parametru, ale czy nie można nic zrobić w tej sprawie ... lub czy można to jakoś zmienić, jeśli zostanie podzielone na więcej rdzeni lub coś ...?

a dla punktów bonusowych ... czy jest coś, co zapisuje obrazy wyjściowe i tworzy suwaki jak w pakieciemanipulate&nbsp;aby przejrzeć wszystkie parametry w sposób interaktywny ... w którym wszystko, co robi, to wyciągnięcie odpowiedniego obrazu, a nie za każdym razem przeliczanie go.

N.B. Prosimy używać / sugerować inne pakiety (npforeach), które Twoim zdaniem mogą być przydatne dla twojego rozwiązania