2011-04-04 51 views
3

我试图运行doSMP发布here的例子:帮助奇数plyr/doSMP警告

require(plyr) # make sure you have 1.2 or later installed 
x <- seq_len(20) 
wait <- function(i) Sys.sleep(0.1) 
system.time(llply(x, wait)) 
require(doSMP) 
workers <- startWorkers(2) # My computer has 2 cores 
registerDoSMP(workers) 
system.time(llply(x, wait, .parallel = TRUE)) 

,我得到以下警告:

Warning messages: 
1: <anonymous>: ... may be used in an incorrect context: ‘.fun(piece, ...)’ 

2: <anonymous>: ... may be used in an incorrect context: ‘.fun(piece, ...)’ 

做这些警告的意思,和我应该担心他们吗?

编辑:

getRversion() = 2.12.2 
packageDescription("plyr", fields="Version") = 1.4 
packageDescription("doSMP", fields="Version") = 1.0-1 
+0

什么是您的R和plyr版本? ('getRversion()'和'packageDescription(“plyr”,fields =“Version”)') – Marek 2011-04-05 07:23:19

+0

@Marek:2.12.2和1.4。我编辑了我原来的帖子来反映这一点。有任何想法吗? – Zach 2011-04-05 14:56:47

回答

1

你使用的是Windows? 我在linux上得到相同的错误。 而且还有与doSNOW相同的错误。

然后我尝试用doMC代替doSMP,它工作正常。

+0

我在Windows和Mac上都得到相同的错误。 doMC在Mac上正常工作,但不支持Windows。我认为这些软件包的作者正在研究一个解决方案。 – Zach 2011-04-13 13:48:43

+1

事实证明,plyr只能与doMC一起使用,但开发人员正在开发它.http://stackoverflow.com/questions/5588914/domc-vs-dosnow-vs-dosmp-vs-dompi-why-arent-the-各种平行-后端换F/5621388#5621388 – Zach 2011-04-13 17:34:04