作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们有一个列表( mylist
)用作 lapply
的输入对象功能。有没有办法知道 mylist
中的哪个元素正在评估?该方法应该适用于 lapply
和 snowfall::sfApply
(和可能的其他人也申请家庭成员)。
在 chat , Gavin Simpson 建议了以下方法。这适用于 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()
最佳答案
我认为您将不得不在该聊天 session 中使用 Shane 的解决方案/建议。将您的对象存储在一个列表中,这样顶部列表的每个组件都包含一个具有该列表组件中包含的名称或 ID 或实验的组件,以及一个包含您要处理的对象的组件:
obj <- list(list(ID = 1, obj = 1:10), list(ID = 2, obj = 1:10),
list(ID = 3, obj = 1:10), list(ID = 4, obj = 1:10),
list(ID = 5, obj = 1:10))
> str(obj)
List of 5
$ :List of 2
..$ ID : num 1
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 2
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 3
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 4
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 5
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
foo <- function(x) {
writeLines(paste("Processing Component:", x$ID))
sum(x$obj)
}
> res <- lapply(obj, foo)
Processing Component: 1
Processing Component: 2
Processing Component: 3
Processing Component: 4
Processing Component: 5
关于list - 使用snowfall::sfLapply 时正在处理哪个列表元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4164960/
假设我们有一个列表( mylist )用作 lapply 的输入对象功能。有没有办法知道 mylist 中的哪个元素正在评估?该方法应该适用于 lapply和 snowfall::sfApply (和
我想将一个非常大的矢量文件栅格化为 25m,并且在“集群”包中取得了一些成功,改编了 qu 的 here和 here ,它非常适用于该特定数据。 但是我现在有一个更大的矢量文件需要栅格化并且可以访问使
我是一名优秀的程序员,十分优秀!