0

以下代码在 2 个不同R版本上给了我不同的输出

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)

在此处输入图像描述

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)

给出一个完全白色(或透明)的图像。你能复制那个吗?

注意:如果我通过 R 打开RStudio我可以使用jpeggrid.raster仍然无法工作,所以我有任何办法

> dev.off()
null device 
          1

和一无所有image.jpg

4

1 回答 1

0

我无法重现您的错误 evan 我有相同的 R/系统配置。我曾经在不同knitr的设备上测试输出。grid.raster这是我的Mrakdown文件代码:

```{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)
```
于 2013-07-12T17:26:49.533 回答