2013-07-12 61 views
0

下面的代碼是給我的2個不同版本的R不同的輸出grid.raster和JPEG問題R上3.0.0

[R 2.5.3

#R version 2.15.3 (2013-03-01) 
#Platform: x86_64-w64-mingw32/x64 (64-bit) 

r <- matrix(runif(9, 0, 1), 3) 
g <- matrix(runif(9, 0, 1), 3) 
b <- matrix(runif(9, 0, 1), 3) 

col <- rgb(r, g, b) 
dim(col) <- dim(r) 

library(grid) 

> jpeg(filename="image.jpg") 
> grid.raster(col, interpolate=FALSE) 
> dev.off() 
windows 
     2 

> grid.raster(col, interpolate=FALSE) 

enter image description here

R 3.0.0

#R version 3.0.0 (2013-04-03) 
#Platform: x86_64-w64-mingw32/x64 (64-bit) 

> library(grid) 
> jpeg(filename="image.jpg") 
Error in jpeg(filename = "image.jpg") : unable to start jpeg() device 
In addition: Warning messages: 
1: In jpeg(filename = "image.jpg") : 
    unable to open file 'image.jpg' for writing 
2: In jpeg(filename = "image.jpg") : opening device failed 
> grid.raster(col, interpolate=FALSE) 
> dev.off() 
null device 
      1 

R 3.0.0jpeg給出了上面的錯誤,但也grid.raster似乎不工作:

> grid.raster(col, interpolate=FALSE) 

給出了一個全白(或者透明)圖像。你能複製那個嗎?

NB:如果我通過RStudio開放的R我能使用jpeggrid.raster仍然無法正常工作,所以我得到任何方式

> dev.off() 
null device 
      1 

和什麼到image.jpg

+0

工作正常,我(2013年4月3日); 平臺:x86_64-w64-mingw32/x64(64位)'。爲了讓你可以重現你的例子,你應該設置一個種子。 – agstudy

+0

可能是重新安裝R .... –

回答

0

我無法重現您的錯誤伊萬我有相同的R /系統配置。我使用knitr來測試不同設備上的grid.raster輸出。在這裏我Mrakdown文件代碼:下的r版本3.0.0

```{r} 
set.seed(1) 
r <- matrix(runif(9, 0, 1), 3) 
g <- matrix(runif(9, 0, 1), 3) 
b <- matrix(runif(9, 0, 1), 3) 
col <- rgb(r, g, b) 
dim(col) <- dim(r) 
``` 
```{r,dev='jpeg'} 
library(grid) 
grid.raster(col, interpolate=FALSE) 
``` 
```{r,dev='png'} 
grid.raster(col, interpolate=FALSE) 
``` 
```{r,dev='pdf'} 
grid.raster(col, interpolate=FALSE) 
```