2012-07-07 51 views
2

我有一个矩阵大小为23,000乘以200,它在R中作为数据帧读取,但处理它比用MATLAB需要更长的时间。R中的图像函数需要永远运行

例如在MATLAB中,我输入image(X),它需要不到一秒的时间,而在R中需要1分钟来生成图像。

如果我做dim(X),它是一样的故事。

任何想法,为什么R可能处理如此低效率的小矩阵与MATLAB相比?

我如R了很多,只是想知道关于减缓的可能来源。

+0

你使用矩阵吗?首先键入is.matrix(数据)。 – Momo 2012-07-07 01:16:41

+2

尝试查看是否与grid.raster栅格 – JohnRos 2012-07-07 05:32:19

+0

'暗淡'采取任何可测量的时间?你确定你没有推动你的机器交换? – mbq 2012-07-07 11:38:35

回答

8

以下大约需要一秒。

n <- 23000 
k <- 200 
m <- matrix(rnorm(n*k), nc=n, nr=k) 

image(m, useRaster=TRUE) 
+0

+1这很好。我准备发布'grid.raster'解决方案,在我的机器上花费了大约2秒钟的时间。 – Andrie 2012-07-07 10:49:20

+0

aha。好。非常感谢! – Dnaiel 2012-07-07 15:16:05