在write.gif中使用R时出错

在write.gif中使用R时出错,r,mandelbrot,R,Mandelbrot,我正在尝试在R中运行以下代码(取自R Wikipedia页面的底部),因为我想在启动并运行它后亲自使用它: library("caTools") jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000")) dx <- 400

我正在尝试在R中运行以下代码(取自R Wikipedia页面的底部),因为我想在启动并运行它后亲自使用它:

library("caTools")
jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F",
                             "yellow", "#FF7F00", "red", "#7F0000"))
dx <- 400                  # define width
dy <- 400                  # define height
C <- complex( real=rep(seq(-2.2, 1.0, length.out=dx), each=dy ),
              imag=rep(seq(-1.2, 1.2, length.out=dy), dx ) )
C <- matrix(C,dy,dx)       # reshape as square matrix of complex numbers
Z <- 0                     # initialize Z to zero
X <- array(0, c(dy,dx,20)) # initialize output 3D array
for (k in 1:20) {          # loop with 20 iterations
  Z <- Z^2+C               # the central difference equation
  X[,,k] <- exp(-abs(Z))   # capture results
}
write.gif(X, "Mandelbrot.gif", col=jet.colors, delay=900)
它告诉我它的存储位置

然而,它随后抱怨说:

Error in write.gif(X, "Mandelbrot.gif", col = jet.colors, delay = 900) : 
  object 'X' not found
我看不出这有什么问题——上面的代码中没有明确定义X吗


感谢您提供的任何帮助。

您的代码对我来说很有用,因为我得到了一个800 kb的.gif文件。@RomanLuštrik这是否意味着caTools有问题?我什么也没得到:(它对我也有效。你尝试过“简单”的解决方法吗?(重新启动R,删除工作区并再次执行上面的脚本,更新/重新安装
caTools
)。你可以试试
ls()
并查看是否存在
X
。可能
X
X
有问题,但在您提供的代码中它是正确的。@谢谢您的建议,但我仍然有问题。我已经使用RGui中的“软件包”菜单安装了CATOOL。这是否意味着我应该删除安装包(“CATOOL”)脚本中的命令-如果我将其保留在脚本中,它会抱怨caTools已经在使用中…为了方便起见,您可以注释
#install.packages(“caTools”)
。使用新的R会话(没有加载包,空的全局环境)您的脚本似乎与您发布的至少两个人的脚本完全一样。顺便说一句:如果您只调用
X
print(X)
,会发生什么情况?
Error in write.gif(X, "Mandelbrot.gif", col = jet.colors, delay = 900) : 
  object 'X' not found