какой элемент списка обрабатывается при использовании snowfall :: sfLapply?

Предположим, у нас есть список ( mylist ), который используется в качестве объекта ввода для функции lapply . Есть ли способ узнать, какой элемент в mylist оценивается? Метод должен работать при прилегающих и снегопадах: sfApply (и другие возможные члены семьи) также.

В чате Гэвин Симпсон предложил следующий метод. Это отлично работает для lapply , но не особенно для sfApply . Я бы хотел избежать лишних пакетов или возиться со списком. Есть предложения?

mylist <- list(a = 1:10, b = 1:10)
foo <- function(x) {
    deparse(substitute(x))
}
bar <- lapply(mylist, FUN = foo)

> bar
$a
[1] "X[[1L]]"

$b
[1] "X[[2L]]"

Это параллельная версия, которая ее не сокращает.

library(snowfall)
sfInit(parallel = TRUE, cpus = 2, type = "SOCK") # I use 2 cores

sfExport("foo", "mylist")
bar.para <- sfLapply(x = mylist, fun = foo)

> bar.para
$a
[1] "X[[1L]]"

$b
[1] "X[[1L]]"

sfStop()

8
задан Roman Luštrik 12 November 2010 в 13:12
поделиться