2015. június havi bejegyzések

Parallel

Nagyon sok érdekes és hasznos csomag található meg a CRAN-on, ezek közül szeretnénk bemutatni párat. Először a parallel csomagot, amivel egyszerre több szálon futtathatunk elemzéseket. Ehhez az mclapply() függvényre lesz szükségünk:

parancs: mclapply(adat,function(x) végrehajtandó feladat)

1. adat = ez lesz az, amin lefut a “végrehajtandó feladat

2. a function(x) utáni rész mondja meg, hogy mi lesz a “végrehajtandó feladat

3. végrehajtandó feladat

01
02
library(parallel)
03
 
04
# példa (1):
05
system.time(mclapply(1:2, function(x) Sys.sleep(5)))
06
# user    system  elapsed 
07
# 0.008   0.015   5.016
08
 
09
# példa (2):
10
adat<-1:2
11
alvas<-function(x){Sys.sleep(5)}
12
system.time(mclapply(adat,function(x) alvas(x)))
13
# user    system  elapsed 
14
# 0.014   0.011   5.013
15

A példa (2)-ben egy saját függvényt készítettünk, majd hívtunk meg. Saját függvénnyel gyakorlatilag bármit többszálúsíthatunk. 🙂

Ilyen egyszerű 🙂 Legalábbis Linuxos rendszer alatt 🙁

A Windows-os rendszer másképpen kezeli a többmagos rendszereket, ezért módosítani kell az mclapply()-t. Ezt az alábbi link segítségével tehetjük meg:

Módosított mclapply()

Egyszerűen behívjuk az R-be a linken megadottakat és máris működni fog Windows alatt is 😀